linux執行緒筆記8

2021-07-25 20:39:14 字數 1232 閱讀 8599

寫者執行緒執行的執行緒執行函式

void *set_th(void *arg)

s->r_wait = 0;

pthread_mutex_unlock(&s->rm);

pthread_cond_broadcast(&s->rc);

//寫者執行緒等待阻塞

//等待讀者縣城讀取完資料後通知喚醒

//然後繼續寫入資料

pthread_mutex_lock(&s->wm);

s_w_wait = 1;

pthread_cond_wait(&s->wc,&s->wm);

pthread_mutex_unlock(&s->wm);

} return (void *)0;

}//讀者執行緒執行的執行緒執行函式

void *get_th(void *arg)

s->w_wait = 0;

pthread_mutex_unlock(&s->wm);

pthread_cond_broadcast(&s->wc);

} return (void *)0;

}int main(void)

if((err = pthread_create(&wth,null,set_th,(void*)&s)) != 0)

pthread_join(rth,null);

pthread_join(wth,null);

pthread_mutex_destroy(&s.rm);

pthread_mutex_destroy(&s.wm);

pthread_cond_destroy(&s.rc);

pthread_cond_destroy(&s.wc);

return 0;

}編譯:gcc -lpthread ***.c -o test

執行:./test

0xb700eb70 write data:100

0xb780fb70(1000) read data:200;

Linux學習筆記(8)

11.管理網路 1.ip基礎知識 1.ipv4 2進製32位 10進製 172.25.34.1 255.255.255.0 255.255.255.0 子網掩碼 子網掩碼255位對應的ip位為網路位 子網掩碼0對應的ip位為主機位 同一網段的ip可以互相通訊,前三位一樣的為同一網段的ip ip位址 ...

Java執行緒學習筆記(8) 執行緒間通訊

多個執行緒併發執行時,在預設情況下cpu是隨機切換執行緒的,如果我們希望他們有規律的執行,就可以使用通訊,例如每個執行緒執行一次列印 package threadtest public class demo12 catch interruptedexception e start new threa...

Linux 執行緒 2(執行緒同步)筆記

二 讀寫鎖 三 條件變數 三 訊號量 同步即協同步調,按預定的先後順序執行 由於執行緒共享程序的資源和位址空間,當多個執行緒對同一共享資源進行操作時,為防止資料混亂,因此在對這些資源進行操作時,必須考慮到執行緒間資源訪問的同步和互斥的問題。這裡介紹 posix 中線程同步的方法,主要有互斥鎖 讀寫鎖...