【Java基础】进程与线程,并发与并行,CPU单核与多核
发布时间:2024年01月12日
1 进程与线程
-
进程与线程基本单位的对象不同
- 进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位
- 线程是CPU调度和分配的基本单位
CPU看不到进程,只能看到待分配的一些线程
-
并发与并行
- 并发:同一时间段内运行多个
- 并行:同一时刻同时运行多个
2 CPU单核与多核
CPU的一个核在同一时刻只能执行一个线程,但是由于CPU可以做到调度线程的快速切换,因此在同一时间段内达到的效果是 可以并发运行不同的线程
CPU的单核使用多线程一定会提高效率吗
- 结论: 不一定
- 解释:
- 单核CPU通过不断调用不同的线程来试图提高效率,但频繁的线程切换反而会增加系统的开销,降低效率。
- 因此是否会提高效率得看线程的类型。线程一般分为CPU密集型和IO密集型,CPU密集型需要占用大量的CPU资源,来处理复杂的计算,如果单核使用多线程并发来处理CPU密集型的任务,反而会降低效率;IO密集型主要处理读写操作,CPU占用不多,有大量的时间用于等待IO设备的响应,如果单核使用多线程并发来处理IO密集型的任务,可以有效利用等待IO的空闲时间,会提高效率。
文章来源:https://blog.csdn.net/weixin_45873353/article/details/134825300
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!