社区
Java SE
帖子详情
多线程 producer consumer问题
easyroom
2011-01-26 07:47:16
场景介绍。系统中有一个导入功能,导入后要对数据进行一系列处理。处理逻辑较复杂,所以用一个线程延时来处理。现在的情形就是导入后就创建一组任务,任务加入待处理列表中。处理的线程进行处理,没有任务时就等待,直到有任务进来再唤醒。
现在wait notify都是手工做的,代码乱的没法看了。有经验的筒子们给点建议,有啥现成的Lib啊,模式啊,尽量拍啊
...全文
137
9
打赏
收藏
多线程 producer consumer问题
场景介绍。系统中有一个导入功能,导入后要对数据进行一系列处理。处理逻辑较复杂,所以用一个线程延时来处理。现在的情形就是导入后就创建一组任务,任务加入待处理列表中。处理的线程进行处理,没有任务时就等待,直到有任务进来再唤醒。 现在wait notify都是手工做的,代码乱的没法看了。有经验的筒子们给点建议,有啥现成的Lib啊,模式啊,尽量拍啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
easyroom
2011-01-27
打赏
举报
回复
导入的数据存在表A中,线程的任务是根据业务逻辑,设置表A中某些字段的值
导入的方法是有事务控制的。事务控制是由spring的taransaction manager管理的。是加在方法上的。向任务队列中添加任务是在导入方法中做得。导入方法与线程中的操作同时执行的话会报一个数据库异常。所以要在开始导入前,让线程暂停,在结束之后再恢复它
火龙果被占用了
2011-01-26
打赏
举报
回复
等你什么通知?具体什么需求!
easyroom
2011-01-26
打赏
举报
回复
LinkedBlockingQueue 不错,但是还有点不满足需要
1,我不希望put进去task之后立刻开始处理,我希望它等我通知的时候在开始
火龙果被占用了
2011-01-26
打赏
举报
回复
LinkedBlockingQueue 属于 Java 集合框架类库之一,并且在 java.util.concurrent 下,其是线程安全的,可以被多个线程并发地进行处理。
火龙果被占用了
2011-01-26
打赏
举报
回复
把任务添加到 LinkedBlockingQueue 中去,另启一个线程从这个队列中 take 出任务就可以了,没有任务时 take 自己会阻塞掉,如果队列满了,在 put 时就会阻塞掉。看任务的处理速度,以及数量有多少来设定这个 Queue 的长度。
easyroom
2011-01-26
打赏
举报
回复
看来着,好像不太合用啊
我处理的行为优先级比较低,不打算让它多线程跑,一个线程慢慢做就ok了
iambic
2011-01-26
打赏
举报
回复
java.util.concurrent.Executor
java.util.concurrent.Executors
java.util.concurrent.ExecutorService
java
多线程
编程 |
pro
duc
er
- con
sum
er
问题
中
本文探讨了如何利用Java的BlockingQueue来避免生产者在缓冲区满时添加数据,以及消费者在缓冲区空时尝试消费数据的
问题
。生产者在buff
er
满时会被阻塞,而消费者在buff
er
空时也会被阻塞,直至条件满足后再继续执行。
java
多线程
编程 | 生产者消费者
问题
:
Pro
duc
er
-Con
sum
er
上
本文介绍了
多线程
编程中的经典
问题
——生产者消费者
问题
,阐述了该
问题
的核心要点,即如何避免在buff
er
满或空时产生错误的线程操作。文章通过分析一个存在
问题
的Java实现,揭示了可能引发的死锁情况,并指出其在
多线程
同步上的不足。最后,提出了使用条件变量作为解决
问题
的方案。
kafka
多线程
解决 con
sum
er
接收不到消息
本文介绍了一种改进的Kafka消息传递方案,利用
多线程
技术和队列机制确保消息从
Pro
duc
er
到Con
sum
er
的稳定传输。该方案通过创建全局队列,并结合
多线程
发送消息,有效解决了传统方式下消息丢失的
问题
。
如何利用 BlockingQueue 实现
Pro
duc
er
-Con
sum
er
模式
博客主要围绕如何利用 BlockingQueue 实现
Pro
duc
er
- Con
sum
er
模式展开,聚焦于信息技术中
多线程
编程里的生产者 - 消费者
问题
解决方法,为相关开发提供思路。
在需要 ClientId 鉴权的 Kafka 集群中,高效使用
Pro
duc
er
和 Con
sum
er
的方法
本文介绍了在需要ClientId鉴权的Kafka集群中,如何高效使用
Pro
duc
er
和Con
sum
er
。通过分析错误,重写Spring Kafka的
Pro
duc
er
Factory和Con
sum
er
Factory,解决了ClientId在
多线程
环境下的变更
问题
。提出了申请固定数量的ClientId并在扩容时按需扩展分区的策略,以优化管理和扩展性。同时,给出了Maven配置建议,强调了ClientId数量预设的重要性。
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章