在数个线程中调用sendto函数发送信息,有些线程调用中是使用的同一个网络地址和端口发送信息(使用同一个socket句柄),有些线程调用中是使用不同的网络地址和端口发送信息(用不同的socket句柄)。
这些线程中如果多个线程调用时是要对所有的sendto函数都要做线程互斥同步处理,还是只要对使用相同的socket句柄(使用的同一个网络地址和端口)的线程的sendto函数做线程互斥同步处理,抑或是不需要对sendto函数进行线程互斥同步处理? 

解决方案 »

  1.   

    不需要
    操作系统的TCP/IP协议栈自己有同步锁
    你只需要检测发送结果就可以
      

  2.   

    你这样发送的数据肯定是乱序了啊  一般是要保证某个socket的发送和接收是顺序的  至于是哪个线程接收或者发送是无所谓的  也就是说某个时刻只有一个线程对某个socket发送或者接收...
      

  3.   

    操作系统的TCP/IP协议栈自己有同步锁
    你只需要检测发送结果就可以