pthread_create创建多线程

#if 1

//打印标识符的函数
void print_ids(const char *str)
{
	pid_t pid;//进程标识符
	pthread_t tid;//线程标识符

	pid = getpid();//获得进程号
	tid = pthread_self();//获得线程号
	printf("%s pid:%u tid:%d (0x%x)\n",
		str, (unsigned int)pid, tid, tid); //打印进程号和线程号
}

//线程函数
void* pthread_func1(void*arg)
{
	//int a = (int)(*arg);
	//printf("a=%d",a);
	thread_func();
	while (1)
	{
		printf("thread1 flag=1\n");
		Sleep(1000);
		
	}
	//print_ids("new thread:");
	return((void*)0);
}

void* pthread_func2(void*arg)
{
	//print_ids("new thread:");
	while (1)
	{
		printf("thread2 flag=2\n");
		Sleep(1000);
	}
	return((void*)0);
}

TEST(SvcCenter, TestThread)
{
	pthread_t pa,pb;

	int pl_th1 = pthread_create(&pa, NULL, pthread_func1, NULL);
	int pl_th2 = pthread_create(&pb, NULL, pthread_func2, NULL);
	pthread_join(pa,NULL);
	pthread_join(pb, NULL);
	//while (1) {}

}

你可能感兴趣的:(work)