1

我正在做一个项目,我必须在 C 中编写一个多线程库。我必须编写诸如 thread_t_init、thread_t_shutdown、thread_t_create、thread_t_terminate、thread_t_yield 之类的函数。我正在寻找一个好的起点或至少一些建议。无论是某个网站,甚至只是一次对话,任何事情都会有所帮助。

4

4 回答 4

2

在 Unix 系统下,主要的线程 API 是POSIX Threads,也称为 Pthreads。它是每个 Unix 供应商必须实现的一组标准 API 调用。几乎所有 Unix 衍生品和类 Unix 操作系统,包括 Linux、Solaris、*BSD 和其他(因为您没有具体指定哪一个)都提供了这个 API 的实现。用 Pthreads 编写的线程程序在不同的 Unices 之间是相当可移植的。

劳伦斯利弗莫尔国家实验室提供了一套关于不同并行编程技术的优秀教程,包括关于Pthreads的教程。

于 2012-11-22T17:42:41.703 回答
1

See the linux clone() system call :

http://en.wikipedia.org/wiki/Clone_(Linux_system_call)

Also this might help :

Source code of PThread Library?

于 2012-11-22T17:49:17.093 回答
1

POSIX 线程是您正在寻找的

于 2012-11-22T17:40:40.813 回答
0

据我所知,C 标准中没有包含线程模型,C++ 仅在 C++11 版本中包含标准的线程模型。因此,使用线程编程与使用外部库是一样的,就像使用 C++ pre-C++11 一样,您需要掌握您决定选择的库,在 Unix 下,Pthreads(POSIX 线程)库是 de-事实标准。

寻找有关Pthreads.

于 2012-11-22T17:44:02.177 回答