📄 mtdm.c
字号:
#include <stdio.h>#include <unistd.h>#include <signal.h>#include <pthread.h>#define THREADS 4#define LOOPTIME 5pthread_t t[THREADS];int cnt;int loop;pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;void* thread_code(void* arg) { while(loop) { pthread_mutex_lock(&m); cnt++; pthread_mutex_unlock(&m); sched_yield(); }; pthread_exit(0); return 0;};int main(int argc, char* argv[]) { int i;#ifdef FSUTHREADS pthread_init();#endif loop=1; for(i=0;i<THREADS;i++) pthread_create(&t[i],0,thread_code,(void*)i); for(i=0;i<LOOPTIME;i++) sleep(1); loop=0; for(i=0;i<THREADS;i++) pthread_join(t[i],0); printf("total runs: %i\n",cnt/LOOPTIME); return 0;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -