当前位置: 技术问答>linux和unix
tfork()问题 --- 在线等待 --- 高手请进!!!
来源: 互联网 发布时间:2015-07-07
本文导语: 各位大虾: 我现在在做一个数据包监听的程序,主要的流程如下: 在我的网络设备驱动程序的后面新编了一个独立的Listen_Server程序,由该 程序负责从驱动程序中提取用户的数据并将该数据发...
各位大虾:
我现在在做一个数据包监听的程序,主要的流程如下:
在我的网络设备驱动程序的后面新编了一个独立的Listen_Server程序,由该
程序负责从驱动程序中提取用户的数据并将该数据发送到远端的客户机.
现在遇到了一些问题:
现在想把Listen_Server程序变成是驱动程序的一个线程(从而可以无声无息
地自动启动),于是用tfork()生成Listen_Server子线程,此时并没有什么问
题,可是再次用tfork()生成Listen_Server进程的一个子进程后,其后续的一
系列线程都得不到执行机会了;
通过和同事们的讨论,决定在Listen_Server进程的子进程的循环中加入延
时,试验证明,在每次循环加入100毫秒的延时后,后续的线程就派生和运行正
常了.
在下认为,由于进程控制器需要在一个进程的等待时间(空闲时间,也就是延
时期间)才能够分配CPU资源给其他的进程,所以如果Listen_Server的子进程
没有延时而一直循环的话,其他后续的进程就永远得不到执行机会了(进程调
度器只会为该子线程和它之前的进程或线程进行正常的调度).
以上是在下的一点愚见,不知道各位大虾有什么其他的看法,还望各位不吝赐教
啊,再次先谢过了!!!
我现在在做一个数据包监听的程序,主要的流程如下:
在我的网络设备驱动程序的后面新编了一个独立的Listen_Server程序,由该
程序负责从驱动程序中提取用户的数据并将该数据发送到远端的客户机.
现在遇到了一些问题:
现在想把Listen_Server程序变成是驱动程序的一个线程(从而可以无声无息
地自动启动),于是用tfork()生成Listen_Server子线程,此时并没有什么问
题,可是再次用tfork()生成Listen_Server进程的一个子进程后,其后续的一
系列线程都得不到执行机会了;
通过和同事们的讨论,决定在Listen_Server进程的子进程的循环中加入延
时,试验证明,在每次循环加入100毫秒的延时后,后续的线程就派生和运行正
常了.
在下认为,由于进程控制器需要在一个进程的等待时间(空闲时间,也就是延
时期间)才能够分配CPU资源给其他的进程,所以如果Listen_Server的子进程
没有延时而一直循环的话,其他后续的进程就永远得不到执行机会了(进程调
度器只会为该子线程和它之前的进程或线程进行正常的调度).
以上是在下的一点愚见,不知道各位大虾有什么其他的看法,还望各位不吝赐教
啊,再次先谢过了!!!
|
还没有研究过网络编程,邦你顶以下吧
送分就好了
送分就好了
|
我还没用过县城,帮你鼎
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。