作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在研究内核线程时,我遇到了这段代码:
while(!kthread_should_stop()){
set_current_state(TASK_RUNNING);
/* Doing some stuff here */
set_current_state(TASK_INTERRUPTIBLE);
msleep(1000);
宏 set_current_state 的用途是什么?传递的参数是什么?
最佳答案
根据这个LinuxJournal文章
set_current_state()
changes the state of the currently executing process fromTASK_RUNNING
toTASK_INTERRUPTIBLE
.
这里,TASK_RUNNING
和 TASK_INTERRUPTIBLE
是进程的两个状态。
TASK_RUNNING
-- 准备运行的进程具有状态 TASK_RUNNING。TASK_INTERRUPTIBLE
-- 调用 schedule()
的进程状态,进程被移出运行队列。 关于c - 什么是内核线程中的 set_current_state() 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30372463/
在研究内核线程时,我遇到了这段代码: while(!kthread_should_stop()){ set_current_state(TASK_RUNNING); /* Doing so
我一直在阅读 http://www.linuxjournal.com/article/8144并考虑以下情况: 4253 /* Wait for kthread_stop */ 4254 set_
在调用 schedule() 以调度运行队列中的下一个进程之前,我是否需要调用 set_current_state()? 我见过很多代码,其中内核线程函数使用 set_current_state()
我是一名优秀的程序员,十分优秀!