社区
Java SE
帖子详情
线程同步问题
sth4nth
2004-06-14 03:28:09
主线程开启N个线程,这N个线程独立运行至一段程序。主线程等待所有其他线程运行结束再开始运行,如何实现。
_____
/|\
/ | \
\ | /
\|/
-----
...全文
184
19
打赏
收藏
线程同步问题
主线程开启N个线程,这N个线程独立运行至一段程序。主线程等待所有其他线程运行结束再开始运行,如何实现。 _____ /|\ / | \ \ | / \|/ -----
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lanhuaiyu
2004-06-15
打赏
举报
回复
jiangnanyuzi(江南愚子) 说的不错,用wait()/notifyAll(),但是要注意:
1.count要用锁保护(用同步);
2.在主线程中调用Wait()方法;
3.在其他线程中当条件满足时,调用notifyAll();
wolfwenbo
2004-06-15
打赏
举报
回复
支持!
gzhua99
2004-06-15
打赏
举报
回复
我没用jdk的 是avalon里的实现的,不知道行不?
shuneng
2004-06-15
打赏
举报
回复
gz
yeahnope
2004-06-15
打赏
举报
回复
suspend()在jdk1.4里面已经deprecated.
HawaiiLeo
2004-06-15
打赏
举报
回复
suspend() 在1.3的版本就不支持了,不过偶对join 不了解。
gzhua99
2004-06-15
打赏
举报
回复
maowu(猫呜) 那为什么suspend你不赞成 可以给我讲解一下吗?
lotofu
2004-06-15
打赏
举报
回复
jiangnanyuzi(江南愚子) ( ) 的方法肯定可以,至于线程的join倒是可以尝试一下!
wwwasp
2004-06-15
打赏
举报
回复
用join();等待子线程结束就可以了
maowu
2004-06-15
打赏
举报
回复
suspend() was deprecated.
gzhua99
2004-06-15
打赏
举报
回复
//悬挂主线程
Thread mythread=Thread.currentThread();
mythread.suspend();
CoolAbu
2004-06-15
打赏
举报
回复
看看线程的Join方法
raymond323
2004-06-15
打赏
举报
回复
mark
北极猩猩
2004-06-15
打赏
举报
回复
回楼上,和每个子线程进行join
majy
2004-06-15
打赏
举报
回复
用join()方法不是很好,问题在于你把主线程和哪个子线程进行join()呢
lizzz
2004-06-15
打赏
举报
回复
用join()。
江南愚子
2004-06-14
打赏
举报
回复
主线程设置一个整型属性count,初值为0,每启动一个线程,count++
启动完所有线程后wait()
定义主线程方法
public void forNotify(){
if((--count)==0) notify();
}
在每个线程结束的时候调用主线程的forNitify()方法
矜持的射手
2004-06-14
打赏
举报
回复
用sleep()方法,主线程可以设置sleep()时间长些,等其他线程运行结束后主线程再运行。
比如主线程调用sleep(5000),即挂起5秒再运行,其他线程只要在5秒内完成就可以了
sth4nth
2004-06-14
打赏
举报
回复
自己顶一下
POSIX多线程程序设计.pdf
内容简介 《POSIX多线程程序设计》深入描述了IEEE的开放系统接口标准——POSIX线程,通常称为Pthreads标准。本书首先解释了线程的基本概念,包括异步编程、线程的生命周期和同步机制;然后讨论了一些高级话题,包括属性对象、线程私有数据和实时调度。此外,本书还讨论了调度的
问题
,并给出了避免错误和提高性能等
问题
的有价值的建议。本书使用了大量注释过后 实例来解释实际的概念,并包括Pthreads的简单索引和对标准化的展望。 《POSIX多线程程序设计》适合有经验的C语言程序员阅读,也适合多线程人员参考。
Android应用程序消息处理机制
Android应用程序与传统的PC应用程序一样,都是消息驱动的。也就是说,在Android应用程序主线程中,所有函数都是在一个消息循环中执行的。Android应用程序其它线程,也可以像主线程一样,拥有消息循环。Android应用程序主线程是一个特殊的线程,因为它同时也是UI线程以及触摸屏、键盘等输入事件处理线程。主线程对消息循环很敏感,一旦发生阻塞,就会影响UI的流畅度,甚至发生ANR
问题
。这个PPT讲Android应用程序线程消息循环原理,主要涉及到Handler和Looper两个类,以及根据消息循环的不同使用场景,总结出三种线程使用模型。掌握Android应用程序消息处理机制,有助于我们熟练地使用同步和异步编程,提高程序的运行性能
秒杀多线程第四篇 一个经典的多
线程同步
问题
上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,现在来个复杂点的。这个
问题
涉及到线程的同步和互斥,是一道非常有代表性的多
线程同步
问题
,如果能将这个
问题
搞清楚,那么对多
线程同步
也就打下了良好的基础。 程序描述:主线程启动10个子线程并将表示子线程序号的变量地址作为参数传递给子线程。子线程接收参数 -> sleep(50) -> 全局变量++ ->
【多线程】
线程同步
问题
的三种解决方法
目录一、前言二、同步代码块三、同步方法四、Lock方法五、总结 一、前言 解决
线程同步
问题
有三种方式:同步代码块、同步方法、锁(JDK5新增) 使用synchronized 解决
线程同步
问题
要时时刻刻注意要使用同一个同步监视器,特别是在继承创建多线程是要格外注意。 二、同步代码块 1、语法 synchronized(同步监视器){ 需要被同步的代码 } 2、对语法的说明 需要被同步的代码就是操作共享数据的代码 同步监视器可以是任何类的对象,但必须是唯一的 实现创建多线程的案
线程不同步的原因,如何同步,简单的防止程序多开
多线程编程中主要的
问题
是
线程同步
问题
。 1.什么时间需要
线程同步
访问共同的内存数据 2.为什么需要
线程同步
多线程程序在执行时由于windows系统机制,会在线程之间来回切换俗称切时间片,当我们的程序没有进行
线程同步
处理时,Window切时间片不在我们的受控范围内,也就是我们的代码在执行时由于切时间片的原因代码可能会跑到一片被切走执行其他线程的代码,此时我们不知道代码执行到了何处,这种是
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章