当前位置: 技术问答>linux和unix
linux 内核线程的挂起和恢复问题!
来源: 互联网 发布时间:2016-05-10
本文导语: 请知情的高手指教一下,在系统启动的时候创建了一个线程,我想当创建线程时即将线程挂起,等到需要时将其恢复并工作,应该使用哪几个函数呢?在网上查了一下,好像要使用wait_queue,但是我从未做过这方面的...
请知情的高手指教一下,在系统启动的时候创建了一个线程,我想当创建线程时即将线程挂起,等到需要时将其恢复并工作,应该使用哪几个函数呢?在网上查了一下,好像要使用wait_queue,但是我从未做过这方面的代码,所以请高手指教一下,给予说明,最好能够给出一些代码的例子!谢谢了!
|
/**
* kthread_create - create a kthread.
* @threadfn: the function to run until signal_pending(current).
* @data: data ptr for @threadfn.
* @namefmt: printf-style name for the thread.
*
* Description: This helper function creates and names a kernel
* thread. The thread will be stopped: use wake_up_process() to start
* it. See also kthread_run(), kthread_create_on_cpu().
*
* When woken, the thread will run @threadfn() with @data as its
* argument. @threadfn() can either call do_exit() directly if it is a
* standalone thread for which noone will call kthread_stop(), or
* return when 'kthread_should_stop()' is true (which means
* kthread_stop() has been called). The return value should be zero
* or a negative error number; it will be passed to kthread_stop().
*
* Returns a task_struct or ERR_PTR(-ENOMEM).
*/
struct task_struct *kthread_create(int (*threadfn)(void *data),
void *data,
const char namefmt[],
...)
不知道这个描述是否能解决LZ的问题
|
kthread_create创建,wake_up_process唤醒。具体可以参见我的博客hi.baidu.com/licett