Java 并行与并发
注意两个词:并行(Concurrent) 并发(Parallel)
并行:是逻辑上同时发生,指在某一个时间内同时运行多个程序
并发:是物理上同时发生,指在某一个时间点同时运行多个程序 在基于场景描述中,可以这样说:
1、多线程是并发执行的;
2、多核CPU是并行执行的,单个CPU不可以并行执行的;但是这样说可能会混淆概念
在网络上查找到如下定义:
并发:在操作系统中,在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行,也就是说微观上任一个时刻点上只有一个程序在处理机上运行)
并行:在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。
两者的区别:并发是同时处理很多的事情,并行是同时做很多的事情
相关文章
- 12-04Android-Java-静态变量与静态方法内存图
- 12-04java.util.date与java.sql.date之间的转换
- 12-04第二部分:并发工具类22->Executor与线程池,如何创建正确的线程池
- 12-04Python之并发、并行、阻塞、非租塞、同步、异步、IO多路复用
- 12-04python 并发编程 查看进程的pid与ppid
- 12-04GO精髓(goroutine并发安全与锁)
- 12-04并行【parallel】和并发【concurrency】线程是并发还是并行,进程是并发还是并行
- 12-04python 之 并发编程(守护线程与守护进程的区别、线程互斥锁、死锁现象与递归锁、信号量、GIL全局解释器锁)
- 12-048.14 day32 TCP服务端并发 GIL解释器锁 python多线程是否有用 死锁与递归锁 信号量event事件线程q
- 12-04Python并发编程——多线程与协程