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

外贸网站建设与推广安卓app开发培训

外贸网站建设与推广,安卓app开发培训,wordpress优化版模板,网页项目策划书模板文章目录 1. 何谓并发2. 为什么使用并发?3. 什么时候不使用并发4. C多线程历史5. 第一个并发程序 1. 何谓并发 最简单和最基本的并发,是指两个或更多独立的活动同时发生。计算机领域的并发指的是在单个系统里同时执行多个独立的任务,而非顺序的进行一些…

文章目录

  • 1. 何谓并发
  • 2. 为什么使用并发?
  • 3. 什么时候不使用并发
  • 4. C++多线程历史
  • 5. 第一个并发程序

1. 何谓并发

  • 最简单和最基本的并发,是指两个或更多独立的活动同时发生。计算机领域的并发指的是在单个系统里同时执行多个独立的任务,而非顺序的进行一些活动。
  • 单核的任务切换有一定的时间开销,但由于切换得太快也称为并发。
  • 多核能够真正的并行多个任务,我们称其为硬件并发
  • 即便是具有真正硬件并发的系统,也很容易拥有比硬件可并行最大任务数还要多的任务需要执行,所以任务切换在这些情况下仍然适用。
  • 多进程和多线程是实现并发的两种基本途径
    • 多进程并发:将应用程序分为多个独立的进程,它们在同一时刻运行
      • 独立的进程可以通过进程间通信传递讯息(信号、套接字、文件、管道等等)
      • 这种进程之间的通信通常不是设置复杂,就是速度慢,这是因为操作系统会在进程间提供了一定的保护措施,以避免一个进程去修改另一个进程的数据
      • 运行多个进程所需的固定开销:需要时间启动进程,操作系统需要内部资源来管理进程,等等。
      • 可以使用远程连接(可能需要联网)的方式,在不同的机器上运行独立的进程
    • 多线程并发:在单个进程中运行多个线程。
      • 每个线程相互独立运行,且线程可以在不同的指令序列中运行。
      • 进程中的所有线程都共享地址空间,并且所有线程访问到大部分数据
      • 进程之间通常共享内存,但这种共享通常也是难以建立,且难以管理。因为,同一数据的内存地址在不同的进程中是不相同
      • 地址空间共享,以及缺少线程间数据的保护,使得操作系统的记录工作量减小,所以使用多线程相关的开销远远小于使用多进程
      • 如果数据要被多个线程访问,那么程序员必须确保每个线程所访问到的数据是一致的
      • C++标准并未对进程间通信提供任何原生支持,所以使用多进程的方式实现,这会依赖与平台相关的API

2. 为什么使用并发?

  • 为了分离关注点
  • 为了性能
    • 将一个单个任务分成几部分,且各自并行运行,从而降低总运行时间,这就是任务并行
    • 每个线程在不同的数据部分上执行相同的操作,这就是数据并行

3. 什么时候不使用并发

  • 基本上,不使用并发的唯一原因就是,收益比不上成本
  • 因为操作系统需要分配内核相关资源和堆栈空间,所以在启动线程时存在固有的开销,然后才能把新线程加入调度器中,所有这一切都需要时间。
  • 线程是有限的资源。如果让太多的线程同时运行,则会消耗很多操作系统资源,从而使得操作系统整体上运行得更加缓慢。
  • 因为每个线程都需要一个独立的堆栈空间,所以运行太多的线程也会耗尽进程的可用内存或地址空间
  • 运行越多的线程,操作系统就需要做越多的上下文切换,每个上下文切换都需要耗费本可以花在有价值工作上的时间。
  • 并发拥有大幅度提高应用性能的潜力,但它也可能使代码复杂化,使其更难理解,并更容易出错

4. C++多线程历史

  • 早期的标准如C++98,没办法在缺少编译器相关扩展的情况下编写多线程应用程序,只能使用平台相关的C语言API来处理多线程。
  • C++11标准不仅有了一个全新的线程感知内存模型,C++标准库也扩展了:包含了用于管理线程、保护共享数据、线程间同步操作,以及低级原子操作的各种类。这些类封装了底层的平台相关API,并提供用来简化任务的高级多线程工具。
  • C++线程库中提供一个native_handle()成员函数,允许通过使用平台相关API直接操作底层实现。

5. 第一个并发程序

#include <iostream>
#include <thread>  // 引入标准线程库
void hello()  // 新线程入口函数
{std::cout << "Hello Concurrent World\n";
}
int main()	// 主线程入口函数
{std::thread t(hello);  // 创建新线程t.join();  // 让主线程等待新线程结束
}

文章转载自:

http://IRqNFuGa.xsbhg.cn
http://3UtD9dRP.xsbhg.cn
http://m7wD3wXQ.xsbhg.cn
http://OWgmUjeo.xsbhg.cn
http://236772eG.xsbhg.cn
http://Y8ezSULC.xsbhg.cn
http://cD1v8FoV.xsbhg.cn
http://zEOL1YIi.xsbhg.cn
http://W605qznT.xsbhg.cn
http://blnBf4AD.xsbhg.cn
http://ZcfxUuuA.xsbhg.cn
http://lMYNY8qc.xsbhg.cn
http://mIcMye8q.xsbhg.cn
http://aodYZSab.xsbhg.cn
http://LTGSxqkG.xsbhg.cn
http://JW7HFUHT.xsbhg.cn
http://YsZuMV0t.xsbhg.cn
http://oNYXZGw0.xsbhg.cn
http://w3Wpqnbx.xsbhg.cn
http://8uGaCiDS.xsbhg.cn
http://3X4CSW9A.xsbhg.cn
http://ZiwgsCuN.xsbhg.cn
http://vyzwfVum.xsbhg.cn
http://2vAMR6g1.xsbhg.cn
http://hZaNN3QD.xsbhg.cn
http://x0OVB0Ky.xsbhg.cn
http://L55TbCp9.xsbhg.cn
http://MOawmjrq.xsbhg.cn
http://L0abWMfu.xsbhg.cn
http://exm3GMRl.xsbhg.cn
http://www.dtcms.com/wzjs/680645.html

相关文章:

  • 做网站的软件著作权本单位门户网站是什么意思
  • 网站建设_制作_设计学校网站建设配套制度
  • 天津市城市建设学校官方网站南昌seo外包公司
  • 深圳网站设计有限公司专业网页设计哪家好
  • 建站系统社区德阳装修公司
  • 平凉公司网站建设网络软文推广案例
  • 平顶山网站关键词优化哪个网站做h5好用
  • 手工艺品网站建设侧胡顺营销培训体系
  • 贵阳市建设厅官方网站天津网站优化方案
  • 台州市城乡建设局网站婚恋网站开发背景文献
  • 咖啡网站设计建设wordpress建设企业官网
  • 达内培训网站开发代做道路毕业设计网站
  • 福州专门做网站网红推广
  • flash网站模板下载图片展示网站模板
  • 数据网站建设哪家好企业建站程序哪个好
  • 做dj网站郑州网站建设乛汉狮网络
  • 最好大连网站建设溧水区住房和城乡建设厅网站
  • 单位门户网站建设的请示公司网页设计的公司
  • 网站诊断工具网站内容如何优化
  • 站长统计芭乐鸭脖小猪株洲网站优化哪家强
  • 阿里云服务器创建多个网站盘锦做网站哪家好
  • dw做的网站怎么传到网络上去济南网站优化的周期
  • 天津专业做网站专业营销型网站
  • 网站怎么弄缩略图上传黄石网站建设黄石
  • 北京网站建设公司兴田德润专业宜昌市住房和城乡建设局网站
  • 温州网站优化搜索wordpress 比价
  • 菏泽北京网站建设电子商务网站功能设计
  • vue做网站的实例中山医疗网站建设
  • 免费空间赞郑州网站制作专业乐云seo
  • 佛山市网站建设分站企业网页设计制作网站教程