社区
Java SE
帖子详情
多线程问题
Biglonwl
2010-04-02 09:20:06
比如说有两类线程A、B、C和a b c
分别占有两个队列
那两个队列可以看作临界资源
如果a线程调用notifyAll()
能唤醒ABC的线程吗
肯定能唤醒bc两个线程
那A、B、C呢
...全文
103
2
打赏
收藏
多线程问题
比如说有两类线程A、B、C和a b c 分别占有两个队列 那两个队列可以看作临界资源 如果a线程调用notifyAll() 能唤醒ABC的线程吗 肯定能唤醒bc两个线程 那A、B、C呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qybao
2010-04-02
打赏
举报
回复
这取决于a,b,c和A,B,C是否共用synchronize资源
a能唤醒b,c,是因为a,b,c共用了一个队列,如果A,B,C用的是另一个队列,那么a的notifyAll对A,B,C并不产生任何影响
用代码简单地说明
synchronized(queue1) {
...
queue1.notifyAll(); //这个notifyAll只会影响使用queue1的线程,不会影响queue2的线程
}
synchronized(queue2) {
...
queue2.notifyAll(); //这个notifyAll只会影响使用queue2的线程,不会影响queue1的线程
}
所以你的问题的答案,取决于A,B,C是否和a,b,c使用了共同的资源,简单地说就是是否共用了同一段synchronized代码
fantasy471503202
2010-04-02
打赏
举报
回复
notifyAll()方法是唤醒所有wait()的线程的意思,让他们重新获得资源,进入就绪状态,排队等待时间片的获得。并不是因为分资源来唤醒吧,A,B,C应该也会被唤醒。
QT中利用TCP协议实现了一个
多线程
的文件互传系统
在QT框架下,利用TCP协议实现一个
多线程
的文件互传系统是一项常见的任务,它涉及到网络编程、
多线程
处理以及文件操作等多个方面。本文将深入探讨这些关键知识点。 首先,TCP(Transmission Control Protocol)是一...
Android room数据库
多线程
问题
导致这个错误的原因是存储空间不足、文件读写权限不够,或者
多线程
操作(SQLite不支持
多线程
同时操作,自己加锁) 所以在写入数据库的时候判断一下存储空间是否充足在room数据库的操作都加上同步锁就可以解决
多线程
常见面试题
死锁多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。互斥条件:该资源任意一个时刻只由一个线程占用。请求与保持条件:一个进程因请求资源而...
qt udp
多线程
收发数据
基于
多线程
的QUdpSocket收发数据程序,界面上可以输入目标ip、port,与网络调试助手调试ok 欢迎下载,并指出程序中的
问题
,谢谢
OpenGL ES 共享上下文实现
多线程
渲染
共享上下文
多线程
渲染 本小节将在主渲染线程之外通过共享 EGLContext 的方式开辟一个新的离屏渲染线程,之后将主渲染线程生成的纹理、 program 、VBO 资源分享给新的渲染线程使用,最后将保存(新渲染线程)渲染...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章