thdm.c

来自「这是一个简单的如何在uClinux下编译和运行多线程函数的例子」· C语言 代码 · 共 44 行

C
44
字号
#include <stdio.h>#include <unistd.h>#include <sys/select.h>#include <signal.h>#include <pthread.h>#define THREADS 4#define LOOPTIME 1pthread_t t[THREADS];int cnt[THREADS];int loop;void* thread_code(void* arg) {  int idx = (int)arg;  while(loop) {    cnt[idx]++;    sched_yield();  };  pthread_exit(0);  return 0;};int main(int argc, char* argv[]) {  int i;#ifdef FSUTHREADS  pthread_init();#endif  for(i=0;i<THREADS;i++) cnt[i]=0;  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);  for(i=0;i<THREADS;i++) printf("thread %i runs: %i\n",i,cnt[i]/LOOPTIME);  return 0;};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?