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的解决方案是创建可重入函数,这些函数可以被任何线程在任何时候调用,而不会意外影响其他线程调用该函数
超级会员免费看
订阅专栏 解锁全文
2005

被折叠的 条评论
为什么被折叠?



