【发布时间】:2023-04-10 03:03:02
【问题描述】:
我正在尝试开发一个线程抽象(POSIX 线程和来自 Windows API 的线程),我非常希望它能够使用方法指针而不是函数指针来启动它们。
我想做的是将线程抽象为具有纯虚方法“runThread”的类,该类将被植入未来的线程类中。
我还不知道 Windows 线程,但是要启动一个 POSIX 线程,你需要一个函数指针,而不是一个方法指针。 而且我无法找到将方法与实例相关联的方法,以便它可以作为函数工作。 我可能只是找不到关键字(我一直在搜索很多),我认为这几乎就是 Boost::Bind() 所做的,所以它必须存在。
你能帮帮我吗?
【问题讨论】:
-
已经完成了。请参阅 Boost::thread。如果这只是一个练习搜索stackoverflow。 PS。不,您不能使用任何 C++ 功能,回调必须是外部“C”函数。但是从那里你可以调用任何东西。
标签: c++ multithreading methods function-pointers member-function-pointers