提升程序效率之__初识高并发下的多线程

什么是高并发:

并发:
一段时间内同时运行多个任务,称之为并发.
高并发:
则顾名思义,就是在一段时间类需要进行大量的任务,称之为高并发.

如何解决高并发?

高并发简而言之就是任务多,任务量大,耗时长, 而要解决大量的任务量的话,耗费大量的时间下去自然终会解决,但是这不是我们想要的结果,

那么比较符合我们需求的方向有:
		1) 缩短任务执行任务的耗时,
		2) 尽量避免耗时任务的执行
		3) 增加执行任务的执行者

其中1) 缩短任务的耗时,与2) 尽量避免任务的执行,这两者是在业务后期优化中,很实用的两个点,但是这个是根据业务来的,所以并不通用.

那么此处就考虑 3) 增加任务执行者, 而任务的执行人在程序的世界里, 毫无疑问就是CPU了,而CPU没有数据,数据都在硬盘里面
因为CPU的运行速度甩硬盘几条街,计算机中有内存的出现,而如何划分内存这就是进程的事情了,但是由于进程的创建与销毁都非常的消耗资源,由于经过优化后就出现了,相较于进程而言消耗更小的线程;

那么此时我们的执行者就是线程了.

且就以高级编程语言java为例, 在java中提供了 开启线程,中断线程的语法.根据语法让我们从更高的层面,操作 "操作系统"的线程资源加速任务的执行

线程:

使用线程前就必须得了解线程. 那么从以下几个方面入手:

  1. 线程本身
  2. 使用场景

线程本身:

生命周期:
		1)	创建
		2) 	运行
		3) 	阻塞
		4) 	睡眠
		5) 	定时睡眠
		6)  死亡
	如果映射到人身上就是
		1) 出生
		2) 工作
		3) 等待工作
		4) 植物人状态
		5) 平时睡觉
		6) 死掉

使用场景:
如果公司招聘一般,只有当公司业务量上去之后,才会招聘对应的人数,那么招聘进来之后肯定是做事情,工作,业务的.
只是与人类不同的是在线程中没有职业划分,也无需hr来筛选
简而言之 使用时机就是大量业务,如果是为了未来的业务量那就是设计,如果是为了已经有的业务量那就是升级

发布了41 篇原创文章 · 获赞 225 · 访问量 8738

猜你喜欢

转载自blog.csdn.net/weixin_43843042/article/details/104034346
今日推荐