社区
Linux_Kernel
帖子详情
fork?
火雲邪神
2012-02-16 11:55:49
我在server。c程序中,得创建两个线程,一个线程是专门用来接收客户端发送过来的信息,是用while一直循环着接收信息并存到哈希表中,另一个线程是用来查询哈希表中的内容,也就是用一个search函数去查询哈希表,然后将结果返回到共享内存当中,然后console端程序去读共享内存中的内容,我现在想知道的是,这两个线程之间是同步关系还是异步的,关于线程同步的知识太多了,我不知道用哪一种,而且怎么做才能尽量减少block?谢谢大家了!
...全文
89
7
打赏
收藏
fork?
我在server。c程序中,得创建两个线程,一个线程是专门用来接收客户端发送过来的信息,是用while一直循环着接收信息并存到哈希表中,另一个线程是用来查询哈希表中的内容,也就是用一个search函数去查询哈希表,然后将结果返回到共享内存当中,然后console端程序去读共享内存中的内容,我现在想知道的是,这两个线程之间是同步关系还是异步的,关于线程同步的知识太多了,我不知道用哪一种,而且怎么做才能尽量减少block?谢谢大家了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
估计需要同步
用同一个线程来做这个工作不行吗?
创建新进程:
fork
函数:
fork
函数干什么?
fork
函数与v
fork
函数的区别在哪里?为何在一个
fork
的子进程分支中使用_exit函数而不使用exit函数?
创建新进程:
fork
函数:
fork
函数干什么?
fork
函数与v
fork
函数的区别在哪里?为何在一个
fork
的子进程分支中使用_exit函数而不使用exit函数?
线程程序里不准使用
fork
?
在多线程程序里,在”自身以外的线程存在的状态”下一使用
fork
的话,就可能引起各种各样的问题.比较典型的例子就是,
fork
出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里
fork
子进程. 那看...
为何要使用两次
fork
?
父进程首先调用
fork
创建一个子进程然后waitpid等待子进程退出,子进程再
fork
一个孙进程后退出。这样子进程退出后会被父进程等待回收,而对于孙子进程其父进程已经退出所以孙进程成为一个孤儿进程,孤儿进程由init...
多线程程序里不准使用
fork
?
在多线程程序里,在”自身以外的线程存在的状态”下一使用
fork
的话,就可能引起各种各样的问题.比较典型的例子就是,
fork
出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里
fork
子进程. 那...
fork
函数详解
首先了解什么是
fork
? 一个进程,包括代码、数据和分配给进程的资源。
fork
()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章