哪个更适合Windows?pthreads还是CreateMutex?

puf*_*der 8 c linux windows posix pthreads

我正在将我的应用程序从Linux移植到Windows.我对跨平台移植应用程序的精湛技术相当陌生.据我所知,Windows本身不支持POSIX线程实现.这是真的?我听说过一些针对windows(包装器或其他东西)的pthreads实现,最好是使用它们还是使用CreateMutex和windows提供的其他API?有人请.用两个世界的PRO和CON启发我.一些关于移植的杂项提示将与答案很好地配合.

提前致谢.

Ana*_*tts 7

这一切都是相同的东西(pthreads只是调用EnterCriticalSection等),所以如果你有一个pthreads包装器,你应该使用它,这样你就不必更改代码


小智 5

这很好用:http://sourceware.org/pthreads-win32/

它是Windows的pthreads库的一个端口.


Cra*_*aig 3

您需要记住的一件事是这段代码的未来是什么。您将来计划在这两个平台上开发(和发布)吗?或者这是一个单向端口?

移植项目时最好的做法是尽可能减少对代码的实际更改。就您而言,这意味着采用 pthread 解决方案。话虽这么说,如果您计划将其作为单向端口,那么本地化永远不会有什么坏处。:)

我会花一些时间来全面检查这两种策略,然后实施您觉得最舒服的策略。