Posix笔记

2019-05-20  本文已影响0人  delta1037

由于硬件提供商会实现线程的硬件专用版本,为了使线程程序可移植,需要标准的线程编程接口:POSIX threads或者Pthreads

Pthreads库被定义为一系列的c语言程序类型和过程调用,是用pthreads的include头文件和一个线程库来实现的

使用Pthreads的目的
使获得潜在的程序执行性能变成现实
当与创建和管理进程的代价相比较时,线程创建时只需要更小的系统开支,管理线程比管理进程需要更少的系统资源

进程内的所有线程共享相同的地址空间

线程的创建与取消:

创建线程:

int pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg)

pthread_create()创建的线程不具备与主线程(调用pthread_create()的线程)同样的执行序列,而是使其运行start_routine(arg)函数

thread返回创建线程的ID,attr是创建线程时设置的线程属性

pthread_create()的返回值表示线程是否创建成功。
arg是void类型变量,但是可以作为任意类型的参数传给start_routine()函数;start_routine()返回一个void类型的返回值,这个值可以是其它类型,由pthread_join()获取

attr参数是一个结构指针

上一篇下一篇

猜你喜欢

热点阅读