C語句模擬多工例項

2022-02-05 10:57:04 字數 1831 閱讀 7161

#include #include // 任務型別定義

typedef struct _mytask

co;struct _variable

v;} mytask;

// 執行緒常量定義

#define thread_over -1 // 執行緒結束

#define thread_notover 0 // 執行緒未結束

// 功能:任務執行緒

// 引數:task: mytask *型別,任務

// process: unsigned char * 型別,執行緒指標

// 返回:char 型別

// 0: 執行緒未結束

// -1: 執行緒結束

// 備註:

char mythread(mytask *task, unsigned char *process)

printf("(*process) = %d,\n", (*process));

(*process)++;

if(*process>4)

return ret;

}// 任務定義

mytask task1, task2;

// 功能:任務初始化

// 引數:task: mytask *型別,任務

// a, b, c:unsigned char 型別,方程式係數

// 返回:無

// 備註:

void inittask(mytask *task, unsigned char a, unsigned char b, unsigned char c)

int main(void)

if(istask_2_living) // 如果任務2活著

printf("task1_thread_process = %d,\n", task1_thread_process);

printf("task2_thread_process = %d,\n", task2_thread_process);

}//while

return 0;

//system("pause");

//exit(0);

}

(*process) = 0,

(*process) = 0,

task1_thread_process = 1,

task2_thread_process = 1,

(*process) = 1,

(*process) = 1,

task1_thread_process = 2,

task2_thread_process = 2,

(*process) = 2,

(*process) = 2,

task1_thread_process = 3,

task2_thread_process = 3,

(*process) = 3,

(*process) = 3,

task1_thread_process = 4,

task2_thread_process = 4,

(*process) = 4,

(*process) = 5 ret = -1,

(*process) = 4,

(*process) = 5 ret = -1,

task1_thread_process = 0,

task2_thread_process = 0,

terminated with return code 0

press any key to continue ...

多工實現方式 一

執行起來的應用程式就稱之為程序。也就是說當程式不執行的時候我們稱之為程式,當 程式執行起來他就是乙個程序。通俗的理解就是不執行的時候是程式,執行起來就是程序。程式和程序的對應關係是 程式只有乙個,但是程序可以有多個。程序是系統進行資源分配和排程的基本單位。在程式執行的過程中,由於被作業系統的排程演算...

多工實現方式 三

當多個執行緒幾乎同時修改某乙個共享資料的時候,需要進行同步控制 執行緒同步能夠保證多個執行緒安全訪問競爭資源,最簡單的同步機制是引入互斥鎖。互斥鎖為資源引入乙個狀態 鎖定 非鎖定。某個執行緒要更改共享資料時,先將其鎖定,此時資源的狀態為 鎖定 其他執行緒不能更改 直到該執行緒釋放資源,將資源的狀態變...

python多工實現方法之協程

多工的實現方式,使用下面方法中的乙個或者若干個進行組合 1 多程序 2 多執行緒 3 協程 三種方式的實現和資源占用各有不同,其中資源占用和實現所需的系統開銷 記憶體 cpu等 逐漸減少,實現難度依次降低。可以簡單的認為 乙個程序可以包含多個執行緒,乙個執行緒包含多個協程。多工實現方式的選擇 cpu...