Linux多线程编程的基本的函数

文章作者 100test 发表时间 2007:10:15 12:19:27
来源 100Test.Com百考试题网


1线程创建

函数原型:


#include
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)(void),void *restrict arg).

返回值:若是成功建立线程返回0,否则返回错误的编号
形式参数:
pthread_t *restrict tidp 要创建的线程的线程id指针
const pthread_attr_t *restrict attr 创建线程时的线程属性
void* (start_rtn)(void) 返回值是void类型的指针函数
vodi *restrict arg start_rtn的行参
例题1:
功能:测试建立一个新的线程
程序名称: pthread_test.c

#include
#include
void *create(void *arg)
...{
printf("new thread created ..... ").

}
int main(int argc,char *argv[])
...{
pthread_t tidp.
int error.

error=pthread_create(&.tidp,NULL,create,NULL).
if(error!=0)
...
...{
printf("pthread_create is not created ... ").
return -1.
}
printf("prthread_create is created... ").
return 0.
}

编译方法:

#gcc -Wall -lpthread pthread_test.c

因为pthread的库不是linux系统的库,所以在进行编译的时候要加上-lpthread,否则编译不过,会出现下面错误

thread_test.c: 在函数 ‘create’ 中:
thread_test.c:7:
警告: 在有返回值的函数中,程序流程到达函数尾
/tmp/ccOBJmuD.o: In function `main:thread_test.c:(.text 0x4f)
:对‘pthread_create’未定义的引用
collect2: ld
返回 1



相关文章


Linux操作系统下的共享文件夹用户设定
Linux多线程编程的基本的函数
实例解析:解决Grub引导WindowsXP的问题
Linux系统服务说明(比较全)
Samba服务器多系统用户共享目录设计方法
Linus谈调试器和内核如何发展
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛