并发 多线程 异步 并行
一 基本概念: 并发: 同时处理多件事情,在处理第一个请求时同时响应第二个请求; 同步: 同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行, 同步 调用在继续之前等待响应或返回值。如果不允许调用继续,就说调用被 阻塞 了 异步: 并发的一种形式,(1)它采用回调机制,避免产生不必要的线程。(2)多线程也可以成为实现程序异步的一种方式,在这里 异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段(这违反了异步操作的本质) 多线程 :并发的另一种形式,它采用多个线程来执行程序。对多个线程的管理使用了线程池。 并行处理: 把正在执行的大量任务,分割成小块分配个多个运行的线程,线程池是存放任务的队列,这个队列能根据需要自行调整。由此产生了并行处理这个概念,多线程的一种,而多线程是并发的一种 二 多线程和异步对比: 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性 线程的本质: 线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能,线程本质上是进程中一段并发运行的代码,所以线程需要操作系统投入CPU资源来运行和调度 异步操作的本质: 所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘