執行緒成環並傳引數

2021-07-03 11:43:23 字數 687 閱讀 8079

執行緒0執行緒1

執行緒2執行緒3

執行緒40+1-->

1+1-->

2+1-->

3+1-->

4+1-->10

000

定義int list[n][2];

list[n][0]中存要傳給下個執行緒的數

list[n][1]存許可權(1表示可以操作,0表示不可以)

(初始情況如表)

我沒有用互斥鎖及條件變數,使用while()內部sleep()等待擁有許可權來實現對資源的互斥操作

#include#include#include#define n 5

volatile int list[n][2];

void *transform(void *arg)

list[(i+1)%n][0]=list[i][0]+1;

list[i][1]=0;

printf("t%d執行緒向t%d執行緒傳送整數%d\n",i,(i+1)%n,list[(i+1)%n][0]);

執行緒傳引數問題

thread threadstart 初始化 thread 類的新例項。由 net compact framework 支援。thread threadstart,int32 初始化 thread 類的新例項,指定執行緒的最大堆疊大小。由 net compact framework 支援。我們如果定...

建立UI執行緒並正確傳遞引數

cpp view plain copy bool cmythread initinstance 3.啟動該執行緒 cpp view plain copy cwinthread ptread afxbeginthread runtime class cuitread2 關於執行緒的退出 當關閉視窗的時...

java中如何從主線程傳引數到子執行緒

下面這個例子和上面一樣,除了說是子執行緒要join主線程。本例中還教會了大家,如何從主線程傳引數到子執行緒。例 1.5.3 2 class threadmark to win extends thread catch interruptedexception e system.out.println...