gpt4 book ai didi

c++ - 从基于 c++0x std::thread 的 C++ 库中公开完整的(C 语言)pthread 接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:41 24 4
gpt4 key购买 nike

在概念上是否可以编写一个基于 std::thread(可能还有其他 C++0x 部分)的小型包装器库,将完整的 pthread 接口(interface)暴露给 C 程序?

(如果您想知道这有什么用:在假设的世界中,主流操作系统内核是用 C++ 编写的,并附加了一个完全符合 C++0x 的标准库,这将是一个问题,因为我正在谈论/考虑的内核没有公开 C 接口(interface),只有一个基于其“ native ”C++“后端”的 C 标准库)

最佳答案

是的,这样的实现应该是可能的。我什至曾经写过一个简单的版本,只是为了证明我可以。

有一些东西很棘手,但大多数东西(例如互斥量、条件变量、线程)都是一个简单的包装器。

异步取消是棘手的事情之一——它需要操作系统的支持才能异步中断线程,因此真正的异步取消不能写在“纯”C++0x 线程之上。当然,无论如何,您都可以将取消延迟到取消点,尽管正如 R 指出的那样,这将是该功能的低质量实现。

关于c++ - 从基于 c++0x std::thread 的 C++ 库中公开完整的(C 语言)pthread 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com