c++ 并发编程1

1 并发、进程、线程的基本概念和综述

**并发、进程、线程**

1 并发:
两个或者更多的任务同时发生、同时进行;一个程序同时执行多个独立的任务
在计算机只有单核cpu的时候,某一个时刻只能执行一个任务,但是可以根据分时轮转并行实现
由操作系统调动以每秒钟为单位,进行任务切换
计算机发展多核:实现硬件的并发

1.2 可执行程序:
硬盘上的一个文件,windows下为exe linux下ls -ls rwxrwxrwx(x执行权限)

1.3 进程:进程就是一个可执行程序运行起来,就是创建了一个进程
linux下就是./文件名 ./a
进程是操作系统的调度单位

1.4 线程:
每个进程就是执行起来的可执行程序,每个进程都有一个主线程,主线程是自带的唯一的
当你执行一个可执行程序,产生进程后,主线程随着进程一起启动
实际上运行程序的时候,是进程的主线程来执行(调用)main函数的代码
主线程的寿命是跟随着线程的,唇齿相依
线程:用来执行代码
线程:理解成执行代码的一条道路
除了主线程之外,我们可以通过自己写代码来创建其他线程,其他线程走哦的是别的道路不同的地方
每创建一个新线程,可以在同一个时刻,多干一个不同的事情
多线程是并发的,线程并不是越多越好,每个线程需要一个独立的堆栈空间 .线程之间的上下文切换需要缓存很多中间状态,耗费cpu,故而线程不是越多越好

	总结线程:线程用于代码的执行
	线程是执行代码的一条通路,一条新的道路
	每个进程包含一个主线程,主线程随着进程的启动默默运行
	可以使用代码创建其他线程,但是创建的数量不建议超过200-300个,至于多少个要不断调试和优化
	主线程是自动启动的,一个进程中至少有一个线程
1.5 学习心得:
开发多线程程序;网络通讯、服务器,线程必须得学
并发的实现方法:
两个或者多个任务同时执行
并发的手段:
1 我们通过多个进程实现并发
2 在单独的进程中创建多个线程,实现并发

 多进程并发:
 word是进程,ie是进程
 账号服务器 游戏逻辑服务器。服务器进程之间的通信
 进程之间的通信(同一个电脑上,可以通过管道、文件、消息变量、共享内存去通信)
 进程之间的通信(不在同一个电脑):socket通信技术

多线程并发:在单个进程中创建了多个线程
线程:比较类似于轻量级的进程,每个线程有自己的独立运行路径
多个线程共享进程的内存,全局变量、指针、引用等都可以在线程之间传递
共享内存带来新的问题:数据一致性问题
线程A线程B要怎么写数据保证数据的一致性,关于互斥和共享

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值