我是靠谱客的博主 凶狠黑夜,最近开发中收集的这篇文章主要介绍多线程学习之路一——多线程有什么用?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

开篇说:知其然,更知其所以然!
由于不知道如何去起步;故在网上找了一个关于多线程的常用40个问题的文章进行深入和示例解释
问题参考地址:http://baijiahao.baidu.com/s?id=1579957724724090222&wfr=spider&for=pc
感谢整理问题的这位博主,让我有一个思路开始多线程的深入和巩固之路!

在这里,我们先解释几个专业术语:进程、线程、并行、并发
1、进程
进程就是操作系统正在运行的一个程序,一个进程对应一个应用程序;比如:你电脑现在正在打开一个QQ,那么这个QQ就表示一个进程,在任务管理器里面程序里面可以查看。
2、线程
线程是程序执行时最小单位,是进程的一个执行(这里可以理解成是一个进程的实体或者进程执行的多条线路),一个进程可以包含多个线程,当然相反,一个线程只属于某一个进程。
3、并行
通俗的讲,就是多个CPU实例(我们现在电脑基本上都是多核的)或者多个电脑同时执行某个处理过程(有个成语叫:异口同声),当然这个过程是真正意义上的同时。
4、并发
这个其实就是我们针对于多线程非常重要的术语了,在我们操作系统调度CPU算法处理某些程序的时候,我们看上去是同时运行和处理(统一时刻,“同时”处理多个程序);但是在CPU的层面并不是这样的;在CPU的调度算法中,只是利用时间分片将程序进行单个执行,通俗点就是,表面看上去是同时,实际上CPU层面每一时刻只有一个程序在处理机上运行。那为什么要并发编程呢?其实是为了充分的利用CPU的核性能达到最高的运算或者处理性能。

回到问题:多线程有什么用?

答:发挥CPU的优势
目前,我们很多CPU都是多核的,而多个核心可以同时运行不同的线程或者进程;CPU执行进程的时候,进程的资源都是独立的,同一时间,处理器只会处理一段逻辑工作,CPU之间的切换无序考虑上下文,所以线程之前的切换非常快,所以我们单核CPU上所谓的“多线程”只不过是CPU的时间分片的之间的快速调度,实际上也是一个一个线程的执行;而真正的多线程就是当年的CPU是多核或者双CPU的时候,这个时候才是真正的意义上的多线程。

在小弟认为,这是一个核心的作用;因为他可以衍生出类似:程序运行快、同时进程执行多、电脑不卡、性能强、避免阻塞等等。当然,这些也是当代CPU的优势。

附上一张关于线程状态转换的图(5种状态),接下来我们将根据这幅图做引导和示例代码进行多线程的学习。
图片来源:https://www.cnblogs.com/wxd0108/p/5479442.html
在这里插入图片描述

最后

以上就是凶狠黑夜为你收集整理的多线程学习之路一——多线程有什么用?的全部内容,希望文章能够帮你解决多线程学习之路一——多线程有什么用?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部