C 多執行緒操作

2021-08-15 02:03:01 字數 1779 閱讀 9422

多執行緒是多工處理的一種特殊形式,多工處理允許讓目標裝置同時執行兩個或兩個以上的程式。一般情況下,兩種型別的多工處理:基於程序和基於執行緒。

基於程序的多工處理是程式的併發執行。

基於執行緒的多工處理是同一程式的片段的併發執行。

多執行緒程式包含可以同時執行的兩個或多個部分。這樣的程式中的每個部分稱為乙個執行緒,每個執行緒定義了乙個單獨的執行路徑。

#include pthread_create (pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg)
引數解析:

pthread_t *thread                 要建立的執行緒的執行緒id指標

const pthread_attr_t *attr 建立執行緒時的執行緒屬性

void *(*start_routine) (void *) 返回值是void型別的指標函式

void *arg 指標函式的行參

void pthread_exit(void *rval_ptr);                   /*rval_ptr 執行緒退出返回的指標*/
int pthread_join(pthread_t thread,void **rval_ptr);  /*成功結束程序返回0,否則返回錯誤編碼*/
示例**:

#include 

#include

#include

using

namespace

std;

#define num 3

struct thread_message

;void* fun(void* arg)

int main(void)

else

if(pthread_join(pid[i], &status) == 0) // 執行緒退出等待判斷

cout

<< "thread["

<< i << "] exit success"

<< endl;

else

cout

<< "thread["

<< i << "] exit fail"

<< endl;

cout

<< endl;

usleep(20);

}return

0;}

[john@bogon c++]$ g++ thread.cc -lpthread

[john@bogon c++]$ ./a.out

thread[0] creat success

message information: this is message[0]

thread[0] exit success

thread[1] creat success

message information: this is message[1]

thread[1] exit success

thread[2] creat success

message information: this is message[2]

thread[2] exit success

C 多執行緒操作

在.net和c 中編寫乙個多執行緒應用程式將非常得容易。即使對於那些從沒有用c 編寫過多執行緒應用程式的初學者,只需遵循以下這些簡單的步驟就可以實現目的。定義命名空間 在.net中,多執行緒功能是在system.threading命名空間中定義的。因此,在使用任何執行緒類之前,必須定義 system...

c 多執行緒操作Windows Forms控制項

解決方案如下,建立乙個windows forms專案,拖拉乙個textbox和button就可以。這需要使用委託類 啟動執行緒 private void button1 click object sender,eventargs e delegate void add 委託 public void ...

C 多執行緒間操作UI

通過設定ui控制項的invoke和begininvoke方法實現更新,如下 1 public partial class fifth form28 private void settext string text 912 13private void fifth load object sender...