博客导读网

一个让你随便看看的地方

Linux 多线程函数解析

推荐
中文

Linux多线程函数解析 Linux多线程函数用得比较多的是下面的3个 pthread_create(),pthread_exit(),pthread_join();它们都是在头文件之中。编译时需要加静态库-lpthread 下面是函数的说明:   pthread_create是UNIX环境创建线程函数 int pthread_create( pthread_t *restrict tidp, const pthread_attr_t *restrict_attr, void*(*start_rtn)(void*), void *restrict arg); 返回值   若成功则返回0,否则返回出错编号   返回成功时,由tidp指向的内存单元被设置为新创建线程的线程ID。attr参数用于制定各种不同的线程属性。新创建的线程从start_rtn函数的地址开始运行,该函数只有一个万能指针参数arg,如果需要向start_rtn函数传递的参数不止一个,那么需要把这些参数放到一个结构中,然后把这个结构的地址作为arg的参数传入。   linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。   由 restrict 修饰的指针是最初唯一对指针所指向的对象进行存取的方法,仅当第二个指针基于第一个时,才能对对象进行存取。对对象的存取都限定于基于由 restrict 修饰的指针表达式中。 由 restrict 修饰的指针主要用于函数形参,或指向由 malloc() 分配的内存空间。restrict 数据类型不改变程序的语义。 编译器能通过作出 restrict 修饰的指针是存取对象的唯一方法的假设,更好地优化某些类型的例程。 参数   第一个参数为指向线程标识符的指针。   第二个参数用来设置线程属性。   第三个参数是线程运行函数的起始地址。   最后一个参数是运行函数的参数。 另外,在编译时注意加上-lpthread参数,以调用静态链接库。因为pthread并非Linux系统的默认库 pthread_exit(void* retval); 线程通过调用pthread_exit函数终止自身执行,就如同进程在结束时调用exit函数一样。这个函数的作用是,终止调用它的线程并返回一个指向某个对象的指针。该指针可以通过pthread_join(pthread_t tpid, void **value_ptr)中的第二个参数value_ptr获取到。 函数pthread_join用来等待一个线程的结束。函数原型为:   extern int pthread_join __P (pthread_t __th, void [...]
原文地址:http://software.intel.com/zh-cn/blogs/2012/02/14/linux-4/

中文的其他文章
通过FFTW Wrapper 使用 MKL DFT 函数 游戏里实现碰撞检测方法
在 Win32 下用 C++ 实现多线程读写锁 如何用 VC++ 编写 MIDI 文件播放程序
移动Web应用程序开发 HTML5篇 (一) HTML5简介 快速使用PTU工具得到函数调用次数
Tizen SDK Intro (2) – 安装 移动Web应用程序开发 HTML5篇 (二) 新功能介绍和测试
移动Web应用程序开发HTML5篇 (三) Canvas API 八款开源 Android 游戏引擎 (巨好的资源)
更多...

© 2010 博客导读网 BlogABC.NET 本站所有内容皆由网友推荐而来,所有博文的版权归原作者所有,如有冒犯,请邮件告知。uncracker#gmail.com