java – 获取线程无限期地等待
发布时间:2020-12-14 16:36:54 所属栏目:Java 来源:网络整理
导读:我有一个 Java线程来处理与Socket的传出通信.我只想让线程运行,而待处理的输出准备发送.说我有一个Stack String它保存等待发送的数据,我希望通信线程在向栈中添加某些东西时唤醒,并且当堆栈为空时进入睡眠状态.这是最好的方法? 我看到的选项是 使用wait()/
我有一个
Java线程来处理与Socket的传出通信.我只想让线程运行,而待处理的输出准备发送.说我有一个Stack< String>它保存等待发送的数据,我希望通信线程在向栈中添加某些东西时唤醒,并且当堆栈为空时进入睡眠状态.这是最好的方法?
我看到的选项是 >使用wait()/ notify() – 现在似乎是这种行为的旧方式 任何建议都会很棒:) 解决方法BlockingQueue 正是你正在寻找的.你的通讯线程在take()上阻塞,当一些其他线程添加/放置时,它将立即被唤醒.
这种方法有几个优点:您可以拥有多个线程(消费者)共享相同的队列,以增加吞吐量和多个线程(生产者)生成消息(消息传递). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 错误:无法找到或加载主类<<<为什么我会收到此
- java – ValueEventListener对于在Android中的RecyclerView
- java – JPA唯一约束验证
- .net – ExecutionContext带有哪些“当前”属性
- Java多线程基础 线程的等待与唤醒(wait、notify、notifyAll
- java – InvocationTargetException:插件(Bundle)“org.da
- Java自学-控制流程 for
- java – 三星Galaxy 7“(GT-P6210)没有检测到USB调试?
- JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
- java – BlockingQueue中的Context Switch开销