c++ 线程实验

本文介绍了如何在C++11及以上版本中使用线程库创建和管理线程,通过一个简单的示例展示线程启动、执行和同步的基本概念,提醒读者注意多线程编程中的线程安全问题。
摘要由CSDN通过智能技术生成

在C++中,你可以使用C++11或更高版本的线程库来创建和管理线程。以下是一个简单的C++线程实验示例,该示例展示了如何创建和启动一个线程,以及如何在主线程和子线程中执行不同的任务。

#include <iostream>
#include <thread>
#include <chrono> // 用于延迟示例
// 线程要执行的函数
void threadFunction() {
std::this_thread::sleep_for(std::chrono::seconds(1)); // 延迟1秒
std::cout << "Hello from thread!\n";
}
int main() {
std::cout << "Starting main thread...\n";
// 创建一个线程对象,并启动它
std::thread t(threadFunction);
// 主线程继续执行
std::cout << "Main thread continuing...\n";
// 等待线程完成
t.join();
std::cout << "Thread finished, main thread exiting.\n";
return 0;
}

在上面的示例中,我们定义了一个threadFunction函数,该函数将在线程中执行。这个函数简单地等待1秒钟,然后打印一条消息。在main函数中,我们创建了一个std::thread对象t,并传递了threadFunction作为参数来启动线程。然后,主线程继续执行并打印一条消息。最后,我们使用t.join()来等待线程完成。当线程完成时,主线程将打印一条消息并退出。

注意:在多线程编程中,需要特别注意线程安全和同步问题。上面的示例是一个简单的示例,不涉及这些问题。但在实际的多线程程序中,你可能需要使用互斥锁、条件变量等同步机制来确保线程安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值