Winsock 编程中 由于当没有数据到来时recvfrom ()
会处于阻塞状态使程序处于暂停执行所以把recvfrom ()
放在一个线程中
我想问问:当数据到来时 是如何进入这个子线程的 ?
我知道的一般进入子线程方式有1 在主线程中使用Sleep()
2 主线程的时间片用完
会处于阻塞状态使程序处于暂停执行所以把recvfrom ()
放在一个线程中
我想问问:当数据到来时 是如何进入这个子线程的 ?
我知道的一般进入子线程方式有1 在主线程中使用Sleep()
2 主线程的时间片用完
解决方案 »
- 急!!!用vc++ 怎么开发仿office2007 或 2010那种水晶风格的界面?
- 内存增加问题
- vc6编译器使用问题
- Access Violation异常是何种类型,如何捕获?
- :)各位大虾,我现在想做一个聊天室(多线程或者异步的),谁有好的例子,可以给我一个吗?谢谢了,:)mail:[email protected]
- 在VC中如何让对话框中控件显示Tip?
- VC编写程序与HID通信的问题
- vc++2005EXPRESS版本的ILDASM怎么一运行就提示出错呀?
- 讨厌的“叮--”,自建CEdit窗口中按回车为什么会发声?
- 哪位前辈精通Minix2.0,我想请教一些问题。请留下您的email
- 新手程序分享
- 走光!大家有没有遇到过使用自定义CSplitterWnd切分试图之后,被切分的视图周围有一圈边未被重绘,窗体后面的图案从这条缝露出来了。。。
2 主线程的时间片用完
===================================
谁告诉你主线程Sleep就会进入子线程啊,线程调度是系统的事,子线程一启动,它的地位和主线程一样,谁被调用是由系统的线程调度程序的事。
所以你创建一个线程但你不能保证它马上就被执行
,操作系统认为你这个线程可以被执行然后放在CPU
的指令队列里,等它的优先级为最高时才分配给他CPU
时间。所以不能得到非常确定的实时响应。
恩 我现在知道了
那么只要把这个数据接受函数放在子线程中只要数据到来
系统的线程调度程序会自动调用子线程接受数据呀?