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两个变量保存了。
#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两个变量保存了。
相关文章推荐
- C++中类的成员函数作为 pthread_create的线程函数
- linux 线程创建函数pthread_create的几个传参方式
- 线程创建函数pthread_create
- eclipse 函数编译时报错:undefined reference to `pthread_create’
- linux 线程创建函数pthread_create的几个传参方式
- pthread_create 函数用法
- 基于pthread_create,readlink,getpid等函数的学习与总结
- Linux 的pthread_create 和 pthread_join 函数的一些新的理解
- eclipse 函数编译时报错:undefined reference to `pthread_create’
- ubuntu调用pthread_create()函数时Undefined reference to 'pthread_create'的问题
- 静态成员函数与pthread_create,纯虚函数匹配使用实例
- pthread_create()函数说明
- pthread_create函数详解
- 错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法
- pthread_create、readlink、getpid等函数的学习与总结
- TSD中的几个函数,pthread_key_create pthread_getspecific
- pthread_create()函数
- pthread_create函数编译时报错:undefined reference to 'pthread_create'
- pthread_create使用类中函数指针的…
- 解决使用pthread_create函数造成的内存泄露