13、POSIX线程编程全解析

POSIX线程编程全解析

在软件开发中,应用程序开发并非总是值得投入大量精力。许多成功的软件开发项目都拥有坚实且不复杂的架构。如果能避免在应用中使用线程,那是最好的。下面将详细介绍POSIX线程编程的相关知识。

1. POSIX线程函数的错误处理

在Linux API函数中,标准的错误管理方式是:函数成功时返回0,出错时返回 -1。当函数出错时,调用 errno 函数可返回错误代码。

在开发多线程应用时, errno 函数总是返回当前线程上最后一次不成功函数调用的错误代码,这样能确保一个线程中的执行代码不会影响另一个线程的错误结果。

2. 可重入函数

每个POSIX线程函数成功时返回0,出错时返回错误代码。不过,有些函数的错误可能会影响 errno 函数的结果。例如 readdir 函数,它用于从目录中读取一个条目,声明如下:

function readdir(Handle: PDirectoryStream): PDirEnt; cdecl;

该函数返回一个指向内部存储的 TDirEnt 结构的指针。在多线程应用中,如果另一个线程调用此函数,处理该函数返回的 PDirEnt 时指针可能会指向不一致的结果。

Linux API的解决方案是创建可重入函数,这些函数可以被任何线程在任何时候调用,而不会意外影响其他线程调用该函数

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值