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   邗影  阅读(4)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示