一个循环队列有增加和读方法,被static,同一时间有N个线程在增加队列中数据,还有N个线程在读队列中数据,导致线程安全问题,怎么解决呢

xlyyc 2005-05-21 12:31:02
如题,增加和读取方法都加上了synchronized关键字

谢谢,欢迎讨论
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang21cnboy 2005-05-23
  • 打赏
  • 举报
回复
没看你的代码,不知道问题所在
Preamble 2005-05-23
  • 打赏
  • 举报
回复
本质上是个生产者与消费者的问题。(有类似的书籍,操作系统里面好像提出过这个)

1。提高写的优先级,降低读的优先级 ,试试看
2。若1不行,将 写 缓存起来。
querlang 2005-05-23
  • 打赏
  • 举报
回复
增加和读取方法都加上了synchronized关键字
楼主不是都说出来了吗?
xlyyc 2005-05-23
  • 打赏
  • 举报
回复
晕哦,到现在没有人来啊
xlyyc 2005-05-21
  • 打赏
  • 举报
回复
所谓线程安全问题,这里指无法正确读循环队列中的数据,因为,队头和队尾以及数据一直在改变。

但是增加方法是实时的,如果与读方法互斥的话,就有可能在读的时候不能增加,造成数据丢失。真是晕哦。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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