所以我正在使用 Boost 库让一个线程等到另一个线程函数完成
线程 1
ipc::named_condition cdv_Android_socket( ipc::open_or_create, "cdv_Android_socket" );
cdv_Android_socket.wait(lock);
这会等到 DLL 中的函数运行它
线程 2
ipc::named_condition cdv_Android_socket( ipc::open_or_create, "cdv_Android_socket" );
cdv_Android_socket.notify_one();
我遇到的问题notify_one()
是在声明之前被调用wait
。我见过其他例子,其中 abool
用于记住notify
. 但是我不能这样做,因为我的主线程和 DLL 线程之间没有共享变量。