加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在linux中的工作线程

发布时间:2020-12-14 00:03:34 所属栏目:Linux 来源:网络整理
导读:为什么有时需要创建新的工作线程来执行可延迟的工作函数,而不是仅仅在默认的“events / n”内核工作线程上调度它? 解决方法 事件工作者线程需要复用许多任务,因此不允许阻塞它(在单个任务中调用schedule()).但是,有许多任务需要阻塞(等待磁盘,网络,某些设备
为什么有时需要创建新的工作线程来执行可延迟的工作函数,而不是仅仅在默认的“events / n”内核工作线程上调度它?

解决方法

事件工作者线程需要复用许多任务,因此不允许阻塞它(在单个任务中调用schedule()).但是,有许多任务需要阻塞(等待磁盘,网络,某些设备等),内核中有很多内部阻塞的功能(如信号量甚至内存分配).此类函数只能在系统调用或专用内核线程中代表userland运行.

虽然理论上可以将这样的代码重写为一长串事件,但它会使它复杂且不可维护,并且内核线程的开销非常小.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读