linux系统怎么给socket加锁

yikun 2006-08-04 05:13:19
多个子进程需要给同一个socket发一段数据.这段数据不能乱的,所以在一个子进程发的时候,其他子进程不能发.请问怎么实现.最好有代码,没有代码 有思路也可以.

谢谢大虾
...全文
223 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yikun 2006-08-09
  • 打赏
  • 举报
回复
用了记录锁
yikun 2006-08-07
  • 打赏
  • 举报
回复
to:yjf7888
用一个进程发送 不方便
yikun 2006-08-07
  • 打赏
  • 举报
回复
我要的是进程啊.适合?
xudeli1979 2006-08-07
  • 打赏
  • 举报
回复
这么简单的一个问题,怎么被你们搞得这么复杂
xudeli1979 2006-08-07
  • 打赏
  • 举报
回复
不会连线程间互斥,也不会吧?
xudeli1979 2006-08-07
  • 打赏
  • 举报
回复
用POSIX 库
pthread_mutex_init

pthread_mutex_destroy

pthread_mutex_lock

pthread_mutex_unlock

你用这个作线程间的互斥,和windows里的临界区用法差不多,一看就会
NC 2006-08-04
  • 打赏
  • 举报
回复
PV操作
yjf7888 2006-08-04
  • 打赏
  • 举报
回复
所以还是用一个进程来专门负责socket的数据收发,其他进程通过进程间通信把需要发送的数据交给收发进程
YanDong_8212 2006-08-04
  • 打赏
  • 举报
回复
你试下文件锁能不能用在socket 上,我只是给你个建议.
具体测试的话,你可以写一个测试程序,发一个很大的数据包,比如全部发'a',然后将其放入后台.运行.
然后,改为全部发'b',也装入后台.

如果你收到的数据有交叉,说明不行.
yikun 2006-08-04
  • 打赏
  • 举报
回复
详细点.
yjf7888 2006-08-04
  • 打赏
  • 举报
回复
使用信号量

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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