bsd6.1下的内核多线程
2009-05-13 03:53:46来源:未知 阅读 ()
比较常见的构建方式有3种
1. 传统的callout,这个在4.x上就存在了,只不过在新版本中支持的更好,也更能发挥其作用。
callout属于定时程序,在预定的时间到来时,就运行相应的函数,不过要想再次运行,需要重新定时。
callout_init,用于初始化callout结构,callout_reset用于定时程序。相对4.x,还增加了callout_init_mtx,用于加锁的callout
2. kthread,可以理解为通常意义上的线程,kthread_create后,线程就开始运行了。为了更有效使用cpu,可以在线程无事可做的时候,挂起,如果有数据需要处理,再恢复。
kthread_create((void (*)(void *)) foo, arg, &foo_proc, 0, 0, "foo");
编程是非常简单的
3. ithread,这属于中断线程,软中断都是使用ithread的,包括协议栈的软中断处理。在netisr中,调用swi_add函数,挂接中断处理。通过向量表,完成中断处理。
在线程中也可以用tsleep和wakeup,控制切换资源的使用。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/132/showart_139486.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- mysql-bin.000001文件的来源及处理方法 2009-05-13
- 使用Nagios监控服务器,Python处理故障通知(邮件与短信) 2009-05-13
- Squid请求处理的典型流程 2009-05-13
- NETBSD下POLLING移植情况 2009-05-13
- FreeBSD安装时关于硬盘参数提示的处理方法(整理) 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash