线程阻止创建 window

Threading prevents window from being created

所以我有一个 win32 程序创建了 window 和 HWND window=CreateWindowEx(WS_EX_CLIENTEDGE, L"STATIC", L"Hi", WS_CHILD|WS_VISIBLE,0,0,120,20, hWnd, (HMENU)HI, GetModuleHandle(NULL), NULL);

然后我用 std::thread th=std::thread(print, hWnd); 创建了一个线程 然后用 th.join(); 启动它 但是,即使线程是在 window 之后创建的,window 也不会在线程完成执行之前创建。

调用th.join()让父线程等待子线程完成执行后再继续。您不使用 join 方法启动线程,线程在您创建它时启动。 Take a look 在 std::thread

的文档中