Winsock  编程中 由于当没有数据到来时recvfrom ()
会处于阻塞状态使程序处于暂停执行所以把recvfrom ()
放在一个线程中
我想问问:当数据到来时 是如何进入这个子线程的 ?
我知道的一般进入子线程方式有1 在主线程中使用Sleep()
                         2 主线程的时间片用完

解决方案 »

  1.   

    我知道的一般进入子线程方式有1 在主线程中使用Sleep() 
                            2 主线程的时间片用完 
    ===================================
    谁告诉你主线程Sleep就会进入子线程啊,线程调度是系统的事,子线程一启动,它的地位和主线程一样,谁被调用是由系统的线程调度程序的事。
      

  2.   

    WIN平台下的线程是采用竞争机制执行的,
    所以你创建一个线程但你不能保证它马上就被执行
    ,操作系统认为你这个线程可以被执行然后放在CPU
    的指令队列里,等它的优先级为最高时才分配给他CPU
    时间。所以不能得到非常确定的实时响应。
    恩 我现在知道了
    那么只要把这个数据接受函数放在子线程中只要数据到来
    系统的线程调度程序会自动调用子线程接受数据呀?