认识并发

本文将讲解并发的来源以及为需要并发,希望能带给你一些更加深层次的并发理解。

编写并发程序的原因

1、挺高利用资源利用率:程序必须等待某个操作完成,这时候可以执行另外一个操作,这也是编写并发程序的最大目的,比如现在计算机是多核处理器,为了利用这些处理器,可以编写多线程程序。
2、公平性:操作系统为了公平性,每个程序都公平享有计算机资源,高效的方式是时间片轮转,每个程序轮流执行。

线程的出现

串行编程符合人类的做事方式,但是也有其缺点,因为有些事情是可以异步执行的,比如我们在洗衣的同时,可以煮水,而不是洗衣完成之后再煮水。这时候线程出现了:

线程允许同一个进程分为多个控制流,线程共享进程内的资源,比如文件句柄和内存句柄,而线程有自己程序计数器、栈和局部变量,而且可以调度到多个CPU上并行执行,大大提高资源利用率。

优势:多线程程序的出现导致请求不必同步等待(阻塞),而是可以分配到多个线程去处理,大大提高了并发处理数量。

劣势:多线程编程也使编程的复杂度升高,线程的非同步交叉执行会产生意想不到的后果,这就是线程的安全性

此外,线程的活跃度也要控制好,比如相互请求对方握有的资源会造成死锁,还有考虑多线程执行是否性能更加的好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值