并发:就是同时做多件事情。
例如:终端用户程序利用并发功能,在输入数据的同时响应用户输入。服务器利用并发,在处理第一个请求的同时响应第二个请求。只要你希望程序同时做多件事情,就需要并发。
很多人看到“并发”就会想到“多线程”,其实他们是有区别的。多线程只是并发的一种形式,但不是唯一形式
并行:就是把正在执行的大量任务分割成小块,分配给多个同时运行的线程。
一般情况下,为了让CPU充分利用,并行处理都会采用多线程。
所以说:并行处理是多线程的一种,而多线程是并发的一种。
还有一种非常重要但很多人不熟悉的并发类型:异步编程,它也是并发的一种形式。