一.单核cpu和多核cpu的区分:
1.单核cpu:
实际上是一种假的多线程,因为在同一时间单元内 ,只能执行一个线程任务,只不过在非常短时间内迅速切换执行不同线程,让人误认为是在同时执行多个线程
2.多核cpu:
可同时执行多个线程,更好的发挥多线程的效率
3.一个java应用程序(java.exe),其至少有三个线程:
-
main()主线程
-
gc()垃圾回收
-
异常处理
二.并行与并发的区别:
1.并行:
多个cpu同时执行多个任务,大大提升了任务的执行效率
2.并发:
一个cpu"同时"执行多个任务,这时就需要采用时间片策略,将cpu在极短时间内迅速分配给不同的线程,从而让多个任务"同时"执行.