当前位置: 首页 > wzjs >正文

品牌网站建设切入点计科专业毕设做网站

品牌网站建设切入点,计科专业毕设做网站,内蒙古城乡建设厅网站,视频网站建设服务1.1 线程与进程基础 在C中,线程和进程是实现并发执行的基本单位。理解它们之间的区别 和如何使用它们是并发编程的基础。 1.1.1 进程 进程是程序的一次执行过程,每个进程都有独立的内存空间。这意味着进 程间的通信需要通过操作系统提供的机制&#xff0…

1.1 线程与进程基础
在C++中,线程和进程是实现并发执行的基本单位。理解它们之间的区别
和如何使用它们是并发编程的基础。
1.1.1 进程
进程是程序的一次执行过程,每个进程都有独立的内存空间。这意味着进
程间的通信需要通过操作系统提供的机制,如管道、套接字等。
进程间通信方式:
参考链接:进程间通信的6种方式
1.1.2 线程
线程是进程内的一个执行单元,多个线程共享同一进程的内存空间。这使
得线程间的通信比进程间通信更高效,但也增加了数据一致性的复杂性。
线程间的通信方式:线程间通信方式
1.1.3 示例:创建线程

#include <iostream>
#include <thread>
// 线程函数
void threadFunction()
{std::cout << "线程函数正在执行..." << std::endl;
}
int main()
{// 创建线程std::thread t(threadFunction);// 等待线程结束t.join();std::cout << "主线程继续执行..." << std::endl;return 0;
}

此示例展示了如何在C++中创建一个线程并执行一个函数。std::thread 类用
于创建线程,t.join()用于等待线程结束。

1.2 C++11 线程库介绍
C++11 标准引入了库,提供了线程支持,使得C++程序员可以更方
便地进行并发编程。库包括std::thread 类,用于创建和管理线程,以
及线程同步的工具,如std::mutex 和std::condition_variable。
1.2.1 std::thread 类
std::thread 类是C++11 线程库的核心,它提供了创建、启动、加入和分离
线程的方法。
1.2.2 std::mutex 和std::condition_variable
std::mutex 用于保护共享资源,防止多个线程同时访问。
std::condition_variable 用于线程间的同步,可以实现线程的等待和唤醒。
1.2.3 示例:使用std::mutex 保护共享资源

#include <iostream>
#include <thread>
#include <mutex>
std::mutex mtx; // 创建互斥锁
int sharedData = 0;
void incrementSharedData()
{std::lock_guard<std::mutex> lock(mtx); // 自动加锁和解锁for(int i = 0; i < 100000; ++i){++sharedData;}
}int main()
{std::thread t1(incrementSharedData);std::thread t2(incrementSharedData);t1.join();t2.join();std::cout << "共享数据的值: " << sharedData << std::endl;return 0;
}

在这个示例中,两个线程t1 和t2 同时尝试增加sharedData 的值。使用
std::mutex 可以确保在任何时候只有一个线程可以访问sharedData,从而避免了
数据竞争。

1.3 线程创建与管理
在C++中,线程的创建和管理主要通过std::thread 类完成。创建线程时,
可以传递一个函数或一个成员函数和对象给std::thread 的构造函数。线程的管
理包括线程的启动、等待、分离和销毁。
1.3.1 示例:创建和管理线程

#include <iostream>
#include <thread>
class MyClass
{
public:void myFunction(){std::cout << "线程正在执行成员函数..." << std::endl;}
};
int main()
{MyClass obj;// 创建线程并传递成员函数和对象std::thread t(&MyClass::myFunction, &obj);// 等待线程结束t.join();std::cout << "主线程继续执行..." << std::endl;return 0;
}

此示例展示了如何创建一个线程来执行类的成员函数。std::thread 的构造函数接受一个指向成员函数的指针和一个指向对象的指针。
1.3.2 线程分离
线程分离意味着线程将独立于创建它的线程运行,即使创建线程已经结束,
分离的线程也会继续运行直到完成。使用std::thread::detach()方法可以分离线
程。
1.3.3 示例:分离线程

#include <iostream>
#include <thread>
void threadFunction()
{std::cout << "线程正在执行..." << std::endl;
}
int main()
{std::thread t(threadFunction);// 分离线程t.detach();std::cout << "主线程继续执行,线程已分离..." << std::endl;return 0;
}

在这个示例中,t.detach()方法被调用来分离线程。分离后,主线程继续执行,而线程t 将独立运行直到完成。
detach()函数与join()函数的区别:【C++】join ()和detach ()函数详解和示例


文章转载自:

http://CVk4JerM.ydmmL.cn
http://AqFvEnup.ydmmL.cn
http://arTlckmV.ydmmL.cn
http://VaCM1gtY.ydmmL.cn
http://hE8nFiJZ.ydmmL.cn
http://ZjW6ZkG4.ydmmL.cn
http://D8R8utIw.ydmmL.cn
http://SZ8Hn316.ydmmL.cn
http://EiIZnomq.ydmmL.cn
http://4UOXQhdJ.ydmmL.cn
http://BTDSZkCo.ydmmL.cn
http://APPOXOih.ydmmL.cn
http://WBuI5vAT.ydmmL.cn
http://1Cqys9Rw.ydmmL.cn
http://pOqMUVCP.ydmmL.cn
http://CQakPxtW.ydmmL.cn
http://jtRmttrf.ydmmL.cn
http://0hXCUal2.ydmmL.cn
http://4YN5SD6T.ydmmL.cn
http://0LjBM8NJ.ydmmL.cn
http://u71pRM1x.ydmmL.cn
http://ANfxCpa6.ydmmL.cn
http://XMEPEo7o.ydmmL.cn
http://tjZCztUE.ydmmL.cn
http://AOBnsZdV.ydmmL.cn
http://vdKWGBZo.ydmmL.cn
http://5WIQwqlT.ydmmL.cn
http://fGc3ye79.ydmmL.cn
http://jHV2IKlF.ydmmL.cn
http://JenDSXha.ydmmL.cn
http://www.dtcms.com/wzjs/651415.html

相关文章:

  • 网站维护花费网站建设项目实训报告书
  • 阿里云网站托管网站开发好还要空间吗
  • 做装修公司网站费用涂鸦智能深圳分公司
  • 劳务输送网站建设方案2019为网站网站做代理被判缓刑
  • 泉州外贸网站建设都有哪些公司乐趣做网站
  • 一级a做爰精免费网站玉林住房和城乡建设局网站官网
  • 有的网站显示正在建设中如何制作视频
  • 织梦网站建设实训总结网店名字创意
  • 哪些公司做DZ网站维护学交互设计网站
  • 营销型网站建设怎么做怎样用jsp做网站登录
  • 电脑技术学习网站wordpress 子域名
  • 网站建设图片设置app开发公司的管理体系
  • 网站策划知识做玩网站怎么上传图片
  • 做网站怎么防止被黑西部数码网站模板
  • 网站建设者属于广告经营者吗邢台网站建设服务周到
  • 四川外国语大学网站建设平安好车主app下载官方网站下载
  • 门户网站设计技巧谷歌google不能访问造成wordpress打开缓慢
  • 西安专业网站建设公司哪家好苏州实力做网站公司
  • 找高权重的网站做外链商丘市住房和城乡建设厅网站
  • 网站推广对企业的优势wordpress对seo友好吗
  • 现在做网站怎么赚钱上海网站开发开发好的公司电话
  • 电子产品网站wordpress 购物 主题
  • 济南酷火网站建设太原汽车网站建设
  • 关于1-6月网站建设工作通报网站一定备案
  • 网站建设圣诞素材北京梵客家装官网
  • 手机网站微信登录接口宁波外贸公司
  • wordpress还能打开吗优化官网咨询
  • 网站建设需要哪些方面Wordpress怎么連結mysql
  • 建设数码产品网站的策划书贵州省兴义市建设局网站首页
  • 网站备案客户资料郑州网站推广价格信息