首页主机资讯c++创建线程的方式有哪些

c++创建线程的方式有哪些

时间2024-03-12 20:22:03发布访客分类主机资讯浏览359
导读:在C++中,创建线程有以下几种方式: 使用标准库中的std::thread类:可以通过包含头文件来使用std::thread类来创建线程。示例代码如下: #include <iostream> #include <th...

在C++中,创建线程有以下几种方式:

  1. 使用标准库中的std::thread类:可以通过包含头文件来使用std::thread类来创建线程。示例代码如下:
#include iostream>
    
#include thread>


void threadFunction() {
    
    std::cout  "Hello from thread!"  std::endl;

}


int main() {
    
    std::thread myThread(threadFunction);
    
    myThread.join();
    
    
    return 0;

}
    
  1. 使用POSIX线程库:可以使用POSIX线程库中的pthread_create函数来创建线程。需要包含pthread.h> 头文件。示例代码如下:
#include iostream>
    
#include pthread.h>


void* threadFunction(void* arg) {
    
    std::cout  "Hello from thread!"  std::endl;
    
    return NULL;

}


int main() {
    
    pthread_t myThread;
    
    pthread_create(&
    myThread, NULL, threadFunction, NULL);
    
    pthread_join(myThread, NULL);
    
    
    return 0;

}
    
  1. 使用C++11中的std::async函数:可以使用std::async函数来异步执行一个函数,并返回一个std::future对象,可以通过get()方法获取函数的返回值。示例代码如下:
#include iostream>
    
#include future>


int threadFunction() {
    
    std::cout  "Hello from thread!"  std::endl;
    
    return 42;

}


int main() {
    
    std::futureint>
     result = std::async(std::launch::async, threadFunction);
    
    std::cout  "Result: "  result.get()  std::endl;
    
    
    return 0;

}
    

以上是在C++中创建线程的几种方式,具体选择哪种方式取决于实际需求和项目环境。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c++创建线程的方式有哪些
本文地址: https://pptw.com/jishu/647256.html
linux中ebpf技术有哪些特点 Ubuntu 8.10 Intrepid Ibex Alpha4 官方正式版下载

游客 回复需填写必要信息