kernel-執行緒thread
kernel執行緒管理在2.6 一般是:
#include<pthread.h>
pthread_ttid; sigset_tset;
voidmyfunc()
{
printf
(
"hello\n"
);
}
intmain()
{
創造執行緒
pthread_create(&tid,NULL,mythread,NULL);
退出執行緒
pthread_kill(tid,SIGUSR2);
等待執行緒結束
pthread_join(tid,&status);
}
到了3.0 提出了一個更加簡單的執行緒管理方法:
kthread_create:建立執行緒。
struct task_struct *kthread_create(int (*threadfn)(void *data),void *data,const char *namefmt, ...);執行緒建立後,不會馬上執行,而是需要將kthread_create() 返回的task_struct指標傳給wake_up_process(),然後通過此函式執行執行緒。
kthread_run :建立並啟動執行緒的函式:
struct task_struct *kthread_run(int (*threadfn)(void *data),void *data,const char *namefmt, ...);
kthread_stop:通過傳送訊號給執行緒,使之退出。
int kthread_stop(struct task_struct *thread);
執行緒一旦啟動起來後,會一直執行,除非該執行緒主動呼叫do_exit函式,或者其他的程式呼叫kthread_stop函式,結束執行緒的執行。
但如果執行緒函式正在處理一個非常重要的任務,它不會被中斷的。當然如果執行緒函式永遠不返回並且不檢查訊號,它將永遠都不會停止。
引用檔案
#include <linux/kthread.h>
創造執行緒結構
staticstruct task_struct *test_task;
test_task = kthread_create(test_thread, NULL, "test_task");啟動執行緒
wake_up_process(test_task);
關閉執行緒
kthread_stop(test_task);
相關文章
- Thread(執行緒)thread執行緒
- Java 中的執行緒 threadJava執行緒thread
- Thread執行緒終止interruptthread執行緒
- new Thread與執行緒建立thread執行緒
- Java多執行緒/併發07、Thread.Join()讓呼叫執行緒等待子執行緒Java執行緒thread
- Java多執行緒(二):Thread類Java執行緒thread
- java多執行緒之Thread類Java執行緒thread
- Java多執行緒Thread類使用Java執行緒thread
- python 多執行緒之threadPython執行緒thread
- Swift多執行緒:使用Thread進行多執行緒間通訊,協調子執行緒任務Swift執行緒thread
- 多執行緒系列(二)之Thread類執行緒thread
- 【 Thread】建立執行緒的2種方法thread執行緒
- 一. 執行緒管理之Thread基礎執行緒thread
- Thread執行緒知識點講解thread執行緒
- thread 描述執行緒的一個類thread執行緒
- 【原創】Java多執行緒初學者指南(2):用Thread類建立執行緒Java執行緒thread
- java.lang.Thread中守護執行緒Javathread執行緒
- @Java | Thread & synchronized – [ 執行緒同步鎖 基本使用]Javathreadsynchronized執行緒
- Java多執行緒之Thread原始碼分析Java執行緒thread原始碼
- c# 執行緒Thread的IsBackground屬性C#執行緒thread
- [CareerCup] 16.1 Thread and Process 執行緒和程式thread執行緒
- JAVA多執行緒Thread VS Runnable詳解Java執行緒thread
- 關於核心執行緒(kernel_thread)(轉)執行緒thread
- Thread 中的 join() 方法的作用是呼叫執行緒等待該執行緒執行完後,再繼續執行thread執行緒
- [深入學習C#]C#實現多執行緒的方法:執行緒(Thread類)和執行緒池(ThreadPool)C#執行緒thread
- java 多執行緒(關於Thread的講解)Java執行緒thread
- 132.繼承Thread實現多執行緒繼承thread執行緒
- java執行緒系列---Runnable和Thread的區別Java執行緒thread
- Android執行緒管理之Thread使用總結Android執行緒thread
- java. 中 繼承Thread類建立執行緒.Java繼承thread執行緒
- 如何抓取Thread Dump(轉儲執行緒堆疊)thread執行緒
- Java 多執行緒(Java.Thread)------ 執行緒協作(生產者消費者模式)Java執行緒thread模式
- python多執行緒之從Thread類繼承Python執行緒thread繼承
- Thread interrupt() 執行緒中斷的詳細說明thread執行緒
- 執行緒間通訊_等待/通知之Thread.join()執行緒thread
- 你知道Thread執行緒是如何運作的嗎?thread執行緒
- 日誌執行緒 redo thread(專業術語解析)執行緒thread
- Python模組學習:thread 多執行緒處理Pythonthread執行緒