C和C++执行线程的写法

常见c/C++

#include <windows.h>
#include <iostream>
 
DWORD WINAPI ThreadProc(LPVOID lpParam) {
    std::cout << "线程执行中,参数是: " << (int)lpParam << std::endl;
    return 0;
}
 
int main() {
    HANDLE hThread = CreateThread(
        NULL,                // 默认安全属性
        0,                   // 默认栈大小
        ThreadProc,          // 线程函数指针
        (LPVOID)123,         // 传递给线程函数的参数
        0,                   // 创建标志
        NULL                 // 不需要线程ID
    );
 
    if (hThread == NULL) {
        std::cerr << "CreateThread failed ( " << GetLastError() << " ).\n";
        return 1;
    }
 
    // 等待线程结束,以便主程序可以清理资源
    WaitForSingleObject(hThread, INFINITE);
    CloseHandle(hThread);
    return 0;
}

 

C++:

void threadFunction() {
    std::cout << "Thread is running." << std::endl;
}
 
int main() {
    // 创建线程
    auto thread = std::make_unique<std::thread>(threadFunction);
 
    // 等待线程完成
    thread->join();
 
    return 0;
}

 

posted on 2024-07-26 16:56  邗影  阅读(1)  评论(0编辑  收藏  举报

导航