我正在研究我的操作系统项目的POSIX子系统,我已经达到了我想要在pthreads支持上工作的地步.但是,我不确定我应该在多大程度上实施它们.
什么是最常用的pthreads功能?有什么东西我现在可以安全地"存根"并在我们移植需要它的应用程序时实现它吗?到目前为止,我的研究指出了基本的线程操作(创建,连接等等) - 这是非常明显的 - 以及互斥支持.实际上,应用程序使用的远不止这些吗?
我想我只是想弄清楚,在仍然有一个有效的实现的情况下我可以逃脱多少.
我建议一个简单的pthread实现覆盖以下函数(pthread_删除" "前缀):
create,exit,join,detach,self,equal,和" attr"支持可结合的/可分离atfork,kill以及sigmaskcond和mutex函数(仅默认属性 - 没什么特别的!),可能省略cond_timedwait看看SUSv6条目<pthread.h>,我优先链接到SUSv7,因为版本6在此标题中有更多的选项组.我通过敲击任何可选功能组成上面的列表,然后删除我的个人历史和观察建议的非必要的其他功能集(例如,线程特定数据)或者非必要和危险(例如,线程取消).:)