testthreads.c

来自「一个著名的SIP协议栈」· C语言 代码 · 共 27 行

C
27
字号
#include <stdio.h>
#include <pthread.h>

pthread_mutex_t rmutex;

void *pfunc(void *arg) {
  int lcount=(int)arg;
  pthread_mutex_lock(&rmutex);
  printf("Loop [%d]\n",lcount--);
  if (lcount)
    pfunc((void*)lcount);
  pthread_mutex_unlock(&rmutex);
}

int main(int argc) {
  pthread_t thread;
  pthread_mutexattr_t mutexattr;
  pthread_mutexattr_init(&mutexattr);
  if (argc < 2)
    pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_RECURSIVE);
  pthread_mutex_init(&rmutex, &mutexattr);
  alarm(1);
  pthread_create(&thread, NULL, pfunc, (void*)10);
  pthread_join(thread, NULL);

}

⌨️ 快捷键说明

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