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執行緒
- new Thread與執行緒建立thread執行緒
- Java 中的執行緒 threadJava執行緒thread
- Thread執行緒終止interruptthread執行緒
- java多執行緒之Thread類Java執行緒thread
- Java多執行緒(二):Thread類Java執行緒thread
- Java多執行緒Thread類使用Java執行緒thread
- 一. 執行緒管理之Thread基礎執行緒thread
- 多執行緒系列(二)之Thread類執行緒thread
- Thread執行緒知識點講解thread執行緒
- 【 Thread】建立執行緒的2種方法thread執行緒
- Swift多執行緒:使用Thread進行多執行緒間通訊,協調子執行緒任務Swift執行緒thread
- Java多執行緒之Thread原始碼分析Java執行緒thread原始碼
- @Java | Thread & synchronized – [ 執行緒同步鎖 基本使用]Javathreadsynchronized執行緒
- c# 執行緒Thread的IsBackground屬性C#執行緒thread
- java.lang.Thread中守護執行緒Javathread執行緒
- Thread 中的 join() 方法的作用是呼叫執行緒等待該執行緒執行完後,再繼續執行thread執行緒
- python多執行緒之從Thread類繼承Python執行緒thread繼承
- Python多執行緒之_thread與threading模組Python執行緒thread
- java 多執行緒(關於Thread的講解)Java執行緒thread
- 132.繼承Thread實現多執行緒繼承thread執行緒
- 多執行緒設計模式之Worker Thread模式執行緒設計模式thread
- Java 多執行緒(Java.Thread)------ 執行緒協作(生產者消費者模式)Java執行緒thread模式
- 執行緒間通訊_等待/通知之Thread.join()執行緒thread
- Android/java 多執行緒(二)-Thread的好兄弟HandlAndroidJava執行緒thread
- Thread interrupt() 執行緒中斷的詳細說明thread執行緒
- Java多執行緒(04)執行緒狀態與上線文切換以及Thread方法介紹Java執行緒thread
- 總是在聊執行緒Thread,試試協程吧!執行緒thread
- 詳解JAVA執行緒問題診斷工具Thread DumpJava執行緒thread
- Thread執行緒控制之sleep、join、setDaemon方法的用處thread執行緒
- 通過transmittable-thread-local原始碼理解執行緒池執行緒本地變數傳遞的原理MITthread原始碼執行緒變數
- C++11併發程式設計:多執行緒std::threadC++程式設計執行緒thread
- RT_Thread ps指令 輸出執行緒名字顯示不全thread執行緒
- Java實現多執行緒詳解一 ( 繼承Thread方式 )Java執行緒繼承thread
- Thread執行緒的基礎知識及常見疑惑點thread執行緒
- Java21的虛擬執行緒Virtual Thread初體驗Java執行緒thread
- Thread.start() ,它是怎麼讓執行緒啟動的呢?thread執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- Qt5執行緒錯誤:QThread: Destroyed while thread is still running(執行runThread->exit(0))QT執行緒threadWhile