读写链表的线程同步问题,请教高手!

jojojk 2006-08-29 10:18:08
我用一个主线程轮循地向5个链表写数据,用5个分线程分别从5个链表中读取数据并用socket发送,怎么处理主线程与其它线程之间的读写同步问题?
...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wt_sanlian 2006-08-30
  • 打赏
  • 举报
回复
建军5个全局TCriticalSection对象
TCriticalSection * myCriticalSection1 = new TCriticalSection;
主线程中:
myCriticalSection1 -> Enter();
操作链表1
myCriticalSection1 -> Leave();

某一线程中:
myCriticalSection -> Enter();
操作链表1
myCriticalSection -> Leave();

操作系统会将主线程与线程中两段代码序列化

jojojk 2006-08-30
  • 打赏
  • 举报
回复
全局变量可以达到互斥的效果吗?
TCritication怎么用它?
「已注销」 2006-08-30
  • 打赏
  • 举报
回复
学习
僵哥 2006-08-30
  • 打赏
  • 举报
回复
单一进程内,使用TCritication相比效率比较高一点.
cczlp 2006-08-30
  • 打赏
  • 举报
回复
方法多了,可以用互斥对象(mutex object), 函数:CreateMutex
也可以用事件,或者全局变量。
BlueDeepOcean 2006-08-30
  • 打赏
  • 举报
回复
用TCritication

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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