fork?

火雲邪神 2012-02-16 11:55:49
我在server。c程序中,得创建两个线程,一个线程是专门用来接收客户端发送过来的信息,是用while一直循环着接收信息并存到哈希表中,另一个线程是用来查询哈希表中的内容,也就是用一个search函数去查询哈希表,然后将结果返回到共享内存当中,然后console端程序去读共享内存中的内容,我现在想知道的是,这两个线程之间是同步关系还是异步的,关于线程同步的知识太多了,我不知道用哪一种,而且怎么做才能尽量减少block?谢谢大家了!
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
火雲邪神 2012-02-23
  • 打赏
  • 举报
回复
yes mutex
帅得不敢出门 2012-02-22
  • 打赏
  • 举报
回复
必须同步

信号量
读写锁都可用。
jiahehao 2012-02-22
  • 打赏
  • 举报
回复
我理解新增,删除操作由A线程来做,B线程只负责读。
如果是这样,加一个标志位就行了。每次A线程操作的时候就置0,A操作完了置1. B每次来读的时候检查标志位,如果为0则忙等,如果为1则直接读。就没问题了。
恨天低 2012-02-22
  • 打赏
  • 举报
回复
争用共享资源就需要同步操作,加互斥锁。
quwei197874 2012-02-22
  • 打赏
  • 举报
回复
用mutex简单
JoeBlackzqq 2012-02-21
  • 打赏
  • 举报
回复
你的哈希表有没有删除操作呀?
同步还是要的!

在写哈希表和共享内存时,做好互斥操作就好了。
justkk 2012-02-16
  • 打赏
  • 举报
回复
估计需要同步

用同一个线程来做这个工作不行吗?

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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