您的位置:首页 > 其它

pthread_create 函数

2011-03-31 18:50 281 查看
#include <pthread.h>
#include <stdio.h>

#define FAILURE 0
#define SUCCESS 1
#define UNS32 unsigned int
#define m_ERROR(format, args...) printf(format, ## args);//fflush(stdout);

static pthread_t g_pthread_wait1;

static pthread_t g_pthread_wait2;

void pthread_wait(void *args) {
int i = 0;

for (; i<5; i++) {
printf("%d/n", i);
sleep(1);
}
}

int main() {

if (pthread_create(&g_pthread_wait1, NULL, (void * (*)(void *)) pthread_wait, NULL) !=0) {
return FAILURE;
}

if (pthread_create(&g_pthread_wait1, NULL, (void * (*)(void *)) pthread_wait, NULL) !=0) {
return FAILURE;
}

printf("while!/n");
while(1);
}

程序执行结果:

while!
0
0
1
1
2
2
3
3
4
4

说明两个线程同时执行pthread_wait函数,只不过(&g_pthread_wait1保存的是第二个线程的ID,而第一个线程的ID就没有了,

如果将红色的部分换成(&g_pthread_wait2,则程序的执行结果相同,只是两个线程的ID号,分别由g_pthread_wait1和g_pthread_wait2两个变量保存了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: