什么是线程、什么是进程
在Java中要同时执行(如果是单核,准确的说是交替执行)多个任务,使用的是多线程,而要理解线程,我们先要了解什么是进程什么是线程。
一般的定义:进程是指在操作系统中正在运行的一个应用程序,线程是指进程内独立执行某个任务的一个单元。
怎么理解呢?
比如说QQ是是一个进程,如果你在和A朋友语音聊天的同时和B朋友打字聊天,同时还在QQ群下载图片,这三个操作就相当于开启了三个线程,可以说有了线程之后我们设计的程序就可以一边执行A操作,一边执行B操作了。
线程和进程有什么区别呢?
首先最直观的就是:一个进程可拥有多个线程。
具体比较:
调度
进程拥有资源;
线程是调度和分派的基本单位;
同一进程中线程的切换不会引起进程的切换;
进程间的线程切换则会引起进程切换从而导致资源切换等。
并发性
进程:进程和进程之间可并发执行 ;
线程:除了进程间的并发执行还可以线程之间并发执行;
线程的并发性更高。
拥有资源
线程并不能拥有资源,只有进程才拥有资源。
系统开销
进程创建、切换和撤销都会导致系统为之创建或者回收进程控制卡以及资源,但是线程的创建以及线程间的切换并不会引起系统做这些事儿,所以线程的系统开销明显更小。
今天的文章线程VS进程分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27226.html