多线程中使用队列的问题??

phonlee 2003-01-02 05:40:59
请问, 一个链式队列, A线程读pop,B线程push,是否要同步???

我使用dephi中的tqueue好像不需要?

请各位指点

...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
phonlee 2003-01-07
  • 打赏
  • 举报
回复
另外的考虑,使用同步会影响性能。 我本来的目的(是用户操作自由)也就没有达到了。
phonlee 2003-01-07
  • 打赏
  • 举报
回复
to JJONY()

我也考虑了,只有在一个节点的时候可能发生问题。

所以,我使用算法作了保证:在只有一个数据的时候不去pop.

哈哈,偷懒一会


JJONY 2003-01-04
  • 打赏
  • 举报
回复
同步是必要的。

你可以看在只有一个节点的链表上,HEAD指针和TAIL指针都指向同一个节点时。
线程A处理HEAD指针,线程B处理TAIL指针。
everandforever 2003-01-04
  • 打赏
  • 举报
回复
说说你的链表是怎么实现的?
cwwa 2003-01-04
  • 打赏
  • 举报
回复
当然要同步啊。
phonlee 2003-01-04
  • 打赏
  • 举报
回复
???
phonlee 2003-01-04
  • 打赏
  • 举报
回复
各位,我的是队列,大家谈谈要同步的原因。

wanglh 2003-01-02
  • 打赏
  • 举报
回复
为了安全,需要同步。

如果POP和PUSH是同步的可以不需要,如果是异步的一定要,否则迟早出问题。
rtdb 2003-01-02
  • 打赏
  • 举报
回复
用临界区加把锁吧。
两个线程同时操作一个链表会出错的。
liu_feng_fly 2003-01-02
  • 打赏
  • 举报
回复
需要同步

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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