一文搞懂并发和并行

并行性:多个核心CPU同时工作。
等效:单核CPU快速切换。
不要感到困惑,看看CPU 的数量。

OS之并发与并行,异步和多线程的区别

哎呀,说到并发、多线程和异步,这是操作系统和编程中的老话题了。
说实话,当时我不太明白,但现在我慢慢明白了。

我们先来说说并发。
在操作系统中,这就像在一段时间内运行的多个程序。
它们从头到尾都在同一处理器上运行。
但请注意,处理器上一次只能运行一个程序。
例如,如果您同时在计算机上打字、听音乐、看电影,所有这些操作都是同时发生的,但同一时间计算机只能处理一项任务。

我们来说说并行,它和并行有些类似,但是更高级。
并行性意味着一组程序可以独立、异步地执行。
无论是从微观还是宏观角度来看,所有这些程序都是协同工作的。
例如,多核处理器可以同时处理多个任务——这就是并行性。

多线程是一个编程概念。
简单来说,一个程序中可以同时运行多个线程。
线程就像程序中的小任务。
它们可以独立运行,也可以相互切换。
比如你一边微信聊天,一边看新闻,这就是多线程。

然后是异步,它和同步有关。
同步意味着按顺序做事。
一项任务完成后,需要等待下一项任务。
异步意味着它们是独立的。
当一项任务等待时,您可以做其他事情。
线程是一种异步实现,允许主线程无需等待即可执行其他操作。

最后,异步和多线程不是一回事。
异步是我们的目标,多线程只是实现异步的一种手段。
例如,如果您发送电子邮件,您可以继续执行其他操作,而无需等待电子邮件发送。
它是异步的。
多线程可以意味着后台有一个线程处理发送电子邮件的任务。

简而言之,这些概念是操作系统和编程的重要组成部分。
了解它们将有助于编程和优化系统。