example01.c

来自「UNIX环境下多线程的网络编程例子」· C语言 代码 · 共 42 行

C
42
字号
#include	"unpthread.h"#define	NLOOP 5000int				counter;		/* this is incremented by the threads */void	*doit(void *);intmain(int argc, char **argv){	pthread_t	tidA, tidB;	Pthread_create(&tidA, NULL, &doit, NULL);	Pthread_create(&tidB, NULL, &doit, NULL);		/* 4wait for both threads to terminate */	Pthread_join(tidA, NULL);	Pthread_join(tidB, NULL);	exit(0);}void *doit(void *vptr){	int		i, val;	/*	 * Each thread fetches, prints, and increments the counter NLOOP times.	 * The value of the counter should increase monotonically.	 */	for (i = 0; i < NLOOP; i++) {		val = counter;		printf("%d: %d\n", pthread_self(), val + 1);		counter = val + 1;	}	return(NULL);}

⌨️ 快捷键说明

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