Java2不建议使用Thread定义的suspend(),resume(),stop()方法,因为suspend()有时会造成死锁。
有代表性的做法是用一个标志变量来指示纯种状态。下面代码中suspendFlag是true,则wait()方法调用以挂起线程,suspendFlag由myresume()方法设为false,使用notify()方法来唤起线程。
join()
primeThread[i].join();
只是等待线程结束~~
等待该线程终止。
public void join(){
try{
runner.join();
}catch(InterruptedException ie){
ie.printStackTrace();
}
}
同一个 thread对象把~~~!
synchronized就是把一个线程调用的方法放在一个锁里面,让别的线程在方法返回前不能调用这个方法,但是要注意Put和Get里用的是同一个A实例,是由main方法传递上来的
synchronized
上面的例子,我们模似了一个并发问题。Java提供了同步机制来解决并发问题。synchonzied关键字可以用来同步变量,方法,甚至同步一个代码块。
使用了同步后,一个线程正在访问同步对象时,另外一个线程必须等待。
使用this作为同步对象的话,如果同一个类中存在多个synchronized (this){...}代码块,其中任何一个synchronized(this)代码块处于被执行状态,则其它线程对其他synchronized(this)代码块的访问也会受到阻塞。
notify()唤醒在此对象监视器上等待的单个线程。
使用notify()方法来唤起线程。
导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。换句话说,此方法的行为就好像它仅执行 wait(0) 调用一样。
多个线程同时读取数据 要使用同步 否则可能读取脏数据
wait sleep
共同点: 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。
不同点: Thread.sleep(long)可以不在synchronized的块下调用,而且使用Thread.sleep()不会丢失当前线程对任何对象的同步锁(monitor);
object.wait(long)必须在synchronized的块下来使用,调用了之后失去对object的monitor, 这样做的好处是它不影响其它的线程对object进行操作。
没有合适的资源?快使用搜索试试~ 我知道了~
Java多线程示例 可以直接运行
共64个文件
js:18个
gif:18个
jpg:9个
3星 · 超过75%的资源 需积分: 10 6 下载量 38 浏览量
2011-05-02
14:09:40
上传
评论
收藏 146KB RAR 举报
温馨提示
这个是Java多线程示例,可以直接运行,希望对需要的人有所帮助!
资源推荐
资源详情
资源评论
收起资源包目录
Java多线程实例.rar (64个子文件)
同步
java中synchronized用法 - 我本无名的专栏 - CSDN博客_files
feedbackcount.js 2KB
csdn_favbykimi.css 585B
relatedarticle.js 991B
AreaCounter.js 397B
counter.js 5KB
e09.gif 2KB
e06.gif 1KB
navtop_2011.css 3KB
e05.gif 2KB
gongshang_logos.gif 326B
e02.gif 2KB
RandomColumnContentJS.aspx 0B
e01.gif 2KB
3_batihenry.jpg 3KB
pub_footerstyle.css 714B
e04.gif 2KB
highlighter.js 1KB
authorship.gif 377B
e07.gif 2KB
3_chwanga.jpg 3KB
3_love19871202.jpg 3KB
rsscache(1).aspx 4KB
msg.popup.js 4KB
rss.gif 351B
count.aspx 615B
jquery.highlighter.js 5KB
3_bro3wcg.jpg 3KB
common.js 3KB
visitlog.php 35B
jquery.scroll.js 3KB
feedback.js 11KB
ArticleGet.ashx 4KB
AntiBotImage.ashx 1KB
e03.gif 2KB
dd333.htm 5KB
google_service.js 6KB
e08.gif 2KB
3_weisheng5521.jpg 3KB
AreaCounter(1).js 397B
1_chenguang79.jpg 3KB
3_dierhunpo.jpg 3KB
pv.aspx 0B
pub_topnav_2011.js 3KB
s.js 9KB
google_ads2.js 44KB
feedsky.gif 551B
e10.gif 1KB
rss_google.gif 748B
pic_email.gif 1016B
jquery.js 56KB
Cogitation_1.css 21KB
publib_footer.js 2KB
3_mygod_cx.jpg 3KB
rss_xianguo.jpg 2KB
gif 1KB
rss_zhuaxia.gif 568B
ecom 520B
rsscache.aspx 210B
CsdnDialog.js 17KB
s.txt 2KB
PrimeThread.java 846B
java中synchronized用法 - 我本无名的专栏 - CSDN博客.htm 102KB
1.txt 442B
MainPrimeThread.java 1KB
共 64 条
- 1
资源评论
- 人畜无害的害虫2013-08-29初次学习下载 没怎么看明白
zhaorongzhen1
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- yolo目标检测项目实验
- downloadFile-1.hc
- Centos7.9环境下离线安装开源版Nginx(亲测版)
- C++课程设计:基于Qt的航班信息管理系统
- ADS7822UVerilog驱动,前面传的有点问题
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功