首先明确一下两个概念:并发和并行,并发指的是在一段时间内,多个任务同时执行,强调的是在同一个时间段内,实际上是按照时间片切换执行任务的,并不是在时间上同时执行,就像几个人在一段时间内轮流着干不同的活。并行指的是单位时间内多个任务同时在执行,强调的是在物理时间维度,多个任务同时在执行,就像几个人在同时干不同的活。
众所周知,java有多线程,那java的多线程是并发的还是并行的呢,为了搞清楚这个问题,我找到了这么一篇博客,这里的作者用实验表明java的多线程是并行的。
首先明确一下两个概念:并发和并行,并发指的是在一段时间内,多个任务同时执行,强调的是在同一个时间段内,实际上是按照时间片切换执行任务的,并不是在时间上同时执行,就像几个人在一段时间内轮流着干不同的活。并行指的是单位时间内多个任务同时在执行,强调的是在物理时间维度,多个任务同时在执行,就像几个人在同时干不同的活。
众所周知,java有多线程,那java的多线程是并发的还是并行的呢,为了搞清楚这个问题,我找到了这么一篇博客,这里的作者用实验表明java的多线程是并行的。