首页 > 编程知识 正文

linux多线程多进程编程,c多线程编程实战第二版pdf

时间:2023-05-03 11:43:50 阅读:119478 作者:2661

[信息和通信]Linux多线程编程

Linux多线程编程

POSIX标准

POSIX的诞生与Unix的发展密不可分

各制造商为Unix的开发贡献了力量,制作了Unix的版本

混乱会给软件的可移植性带来很大的困难,也会给Unix带来

发展极为不利

POSIX

可移植操作系统界面:可移植操作

系统接口

电气和电子工程师协会(Institute of Electrical

和电子工程,IEEE )开发的

在UNIX环境中提高APP应用程序的可移植性

许多其他操作系统,如微软

Windows NT均支持POSIX标准

介绍POSIX线程库Pthreads

介绍POSIX线程库Pthreads

IEEE POSIX标准p1003.1c(Pthreads )定义了一系列处理线程的c语言

语言类型的API。

POSIX线程是线程的POSIX标准,它定义了一组用于创建和处理线程的API

在Linux上,线程通常被认为是“轻量级进程”。

Linux创建过程中使用的函数是fork (或vfork )。 创建线程

管理和管理,Linux可以使用POSIX线程库pthreads提供的APIs。

Linux提供的多线程和多进程运行环境的主要目的是提高系统资源的利用率

率和任务的同时或并行性。

对于Windows操作系统,Pthreads也存在开放源代码版本,称为

对于pthreads-win32

POSIX pthreads库

POSIX pthreads库

创建线程

用于创建POSIX pthreads线程库中提供的线程的函数如下

pthread_create (,函数的原型如下:

int pthread _ create (pthread _ t * thread,

pthread_attr_t * attr,

void*(start_routine ) ) void * )、

void * arg;

第一个参数是pthread_t类型的指针,该指针指向要保存的指针

标记线程创建成功后创建的线程

第二个参数指示创建的线程可以具有的属性

第三个参数是指向线程实现函数的函数指针

第四个参数arg是void *类型,该参数指向实际线程处理函数

在运行时计算所需的参数

POSIX pthreads库(续)

POSIX pthreads库(续)

线程结束

线程处理函数可以显式调用pthread_exit ()结束线

程执行。 pthread_exit ()函数的函数原型如下:

voidpthread_exit(void*retval;

参数是线程的返回值

exit (不容易使用函数退出线程。 exit ) )时

函数实际上是整个过程的结束,其他线程也将遵循该过程

消亡消灭

POSIX pthreads库(续)

POSIX pthreads库(续)

等待线程结束

线程创建完成后,可以创建并使用线程的线程

pthread_join ()函数等待创建的线程结束。

pthread_join ()函数等待创建线程的线程执行

前往想等待的子线程。 pthread_join ()函数的函数原型如下:

intPthread_join(Pthread_tth,void **thread_return );

第一个参数th是等待的线程的标志

如果thread_return不为空,则thread_return将指向th返回

中选择所需的墙类型

调用pthread_join ()函数的目的是释放相关的内存资源

POSIX pthreads库(续)

POSIX

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。