call_thunk icon indicating copy to clipboard operation
call_thunk copied to clipboard

CreateThread 里传入类成员方法,如果调用CreateThread的方法退出过快,线程将不会启动

Open fengshangren opened this issue 2 years ago • 1 comments

例子: 这样线程将不会被执行。 call_thunk::thunk thunk<cb_type>(obj, &TestClass::fun); CreateThread ( NULL , 0 , (LPTHREAD_START_ROUTINE )thunk, NULL , 0 , NULL ); return;

这样线程才会成功执行 call_thunk::thunk thunk<cb_type>(obj, &TestClass::fun); CreateThread ( NULL , 0 , (LPTHREAD_START_ROUTINE )thunk, NULL , 0 , NULL ); Sleep(100); return;

fengshangren avatar Jan 05 '22 07:01 fengshangren

call_thunk::thunk thunk<cb_type>(obj, &TestClass::fun); 改为全局变量。 临时变量去到线程中就不可用了,注意线程安全。

ruoleng avatar Jan 05 '22 08:01 ruoleng