线程学习(C++)

1.什么是并发

并发是指两个或者两个以上的活动独立发生。

2.并发途径

a.多进程并发:将应用程序分为多个独立的进程,他们在同一时刻进行,比如:同时浏览网页和写博客做记录;
b:多线程并发:并发另外一个途径是在单进程中运行多个线程,每个线程相互独立,且线程可以在不同的指令序列中运行,进程中的所有线程共享地址空间,并且访问到大多数数据(全局变量,指针,对象的引用)。由于地址空间的共享,以及缺少线程间数据的保护,使得操作系统之间的记录工作量减小,所以使用多线程的开销远小于多进程。但是由于内存的共享,数据要被多个线程访问,线程间数据共享可能会遇到问题。

3.两种并发方式提高性能

两种方式利用并发提高性能:第一,将一个单个任务分成几部分,且各自并行运行,从而降低总运行时间。这就是任务并行(task parallelism)。虽然这听起来很直观,但它是一个相当复杂的过程,因为在各个部分之间可能存在着依赖。区别可能是在过程方面——一个线程执行算法的一部分,而另一个线程执行算法的另一个部分——或是在数据方面——每个线程在不同的数据部分上执行相同的操作(第二种方式)。后一种方法被称为数据并行(data parallelism)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值