多线程间通讯

lhj0532 2004-12-27 11:58:55
我现在做一个socket服务器的小程序,起一个线程去服务客户端,有如下问题:
1、当线程接收数据了以后如何及时通知主线程:“来数据了!”,java里有没有像VC一样的消息队列,主线程可以去搜索消息队列。
2、我自己有一个解决方案看看是否可行:专门起一个监测数据的线程看看是否是“来数据了!”。如果不可行有什么更好的方案?
谢谢!!!
...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhj0532 2004-12-27
  • 打赏
  • 举报
回复
明白了,谢谢各位!!!
fohoo 2004-12-27
  • 打赏
  • 举报
回复
同意robber, kaymo

使用wait()/notify()
jFresH_MaN 2004-12-27
  • 打赏
  • 举报
回复
操作系统的做法是让所有线程拥有同样的优先级,并且放在一个线程队列里面
当需要调度到某一个线程的时候提高它的优先级,那它自然会执行啦
呵呵
lhj0532 2004-12-27
  • 打赏
  • 举报
回复
现在我的问题就是怎么调度到主线程?
kaymo 2004-12-27
  • 打赏
  • 举报
回复
wait();notifyAll();notify();
双杯献酒 2004-12-27
  • 打赏
  • 举报
回复
消息队列不是VC的,
是Windows的。
虎叔 2004-12-27
  • 打赏
  • 举报
回复
问题很简单嘛。

1 主线程:

wait();
//消息来乐做什么?

2 子线程

收到消息
mainThread.notify();//通知主线程可以去取消息乐:)






jFresH_MaN 2004-12-27
  • 打赏
  • 举报
回复
楼主有没有看过操作系统里面的线程调度啊
我觉得应该使用那样的机制

就是使用一个线程来调度其它线程,当有一个线程受到数据就调度到主线程执行相应操作
lhj0532 2004-12-27
  • 打赏
  • 举报
回复
怎么没有人理我?顶……

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧