多线程理解<1>-并发以及基本概念

  1. 并发的概念

    系统同时执行多个任务, 以往计算机都是单核的CPU在某一时刻只能处理一个任务, 不是正真的并发, 每秒钟多次切换任务,假象上的并发,这种上下文的切换是存在时间开销的(需要保存切换的时候中间状态,进度等信息,当切换回来的时候复原这些信息)

    随着硬件的发展, 出现了多处理器计算机, 用于服务器和高性能计算领域, 在一个芯片上有多个CPU, 这个时候就能实现真正的并行多个任务

    使用并发的原因: 提高系统的性能

  2. 可执行程序

    windows下 扩展名为.exe(双击运行)

    linux下 看是否存在可执行权限(./文件名)

  3. 进程

    程序运行的时候系统会分配一个ID号, 这个ID就是进程号, 这个运行程序就是进程, 操作系统分配资源给进程, 所以进程作为系统分配和调度的基本单位, 进程是可以独立运行的一段程序.

  4. 线程

    是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位。相对于进程,线程拥有系统资源比较少,而且线程的生命周期是进程这个程序来控制的。在运行时,只是暂用一些计数器、寄存器和栈 。同时一个进程至少要有一个主线程。所以真正执行任务的是线程。

同电脑进程之间的相互通信: 管道, 文件, 消息队列, 共享内存

不同电脑可以通过Socket技术来进行

所有线程共享地址空间, 共享内存, 例如全局变量,全局…都可以在线程之间传递, 使用多线程开销远远小于多进程, 但是带来了数据一致性问题, 当线程A和B向内存写入数据, 可能会存在AB写入覆盖等问题

线程相对于进程来说:

  1. 启动速度更快
  2. 资源开销小, 执行速度快, 共享内存通信方式比任何其他方式都快

缺点:

注意数据的一致性问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值