线程和进程

简介: 在Java语言里面最大的特点是支持多线程的开发。那么用了多线程就必须了解线程和进程

什么是进程

在Windows系统中我们用快捷键shif + esc可以看到下图界面
image.png

所以,就可以知道了,程序就是一个已经在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的git.exe就是一个进程。

什么是线程

线程是在进程基础之上划分的更小的程序单元,线程是在进程基础上创建并且使用的,所以线程依赖于进程的支持,但是线程的启动速度要比进程快很多,当使用多线程进行并发处理的时候,其执行的性能要高于进程。

Java是多线程的编程语言,所以Java在进行并发访问处理的时候可以得到更高的处理性能。

线程和进程的区别

1.任何一个程序都会有一个进程包含一个或多个线程,它们两不能独立存在的,所以就有了进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。
2.在程序运行的环境下,如果一个线程停止了,那么这个进程也就停止了。如果进程停止了呢,在保护模式下不会对其他进程产生影响。

多进程和多线程区别

多进程:操作系统中同时运行的多个程序
多线程:在同一个进程中同时运行的多个任务

举个例子,多线程下载软件,可以同时运行多个线程,但是通过程序运行的结果发现,每一次结果都不一致。 因为多线程存在一个特性:随机性。造成的原因:CPU在瞬间不断切换去处理各个线程而导致的,可以理解成多个线程在抢CPU资源。

这就是对线程和进行的理解

相关文章
聊聊python多线程与多进程
为什么要使用多进程与多线程呢? 因为我们如果按照流程一步步执行任务实在是太慢了,假如一个任务就是10秒,两个任务就是20秒,那100个任务呢?况且cpu这么贵,时间长了就是浪费生命啊!一个任务比喻成一个人,别个做高铁,你做绿皮火车,可想而知!接下来我们先看个例子:
|
6天前
|
数据采集 存储 C++
单线程 vs 多进程:Python网络爬虫效率对比
本文探讨了Python网络爬虫中的单线程与多进程应用。单线程爬虫实现简单,但处理速度慢,无法充分利用多核CPU。而多进程爬虫通过并行处理提高效率,更适合现代多核架构。代码示例展示了如何使用代理IP实现单线程和多进程爬虫,显示了多进程在效率上的优势。实际使用时还需考虑代理稳定性和反爬策略。
单线程 vs 多进程:Python网络爬虫效率对比
|
7天前
|
存储 调度
进程与线程(概念、并行、并发)
进程与线程(概念、并行、并发)
|
7天前
|
安全 Java
多线程(CAS, ABA问题, Runnable & Callable & 僵尸线程 & 孤儿进程)
多线程(CAS, ABA问题, Runnable & Callable & 僵尸线程 & 孤儿进程)
16 1
|
8天前
|
消息中间件 Java 调度
Java多线程基础-3:进程与线程间的区别的联系
进程是操作系统中运行的应用程序,具有独立内存空间,包含代码、数据和堆栈,是资源分配的最小单位,而线程是CPU调度的最小单位,是进程内的执行任务,多个线程可共享进程资源。
19 0
|
8天前
|
IDE Java 开发工具
"如何使用 jconsole 查看Java进程中线程的详细信息? "
当Java程序运行时,其中的一些线程也正在执行。我们可以用第三方工具 jconsole 来查看Java进程中线程的执行情况和详细信息,这有助于我们对多线程编程的理解。
16 0
|
8天前
|
消息中间件 Java C++
"Java多线程基础-2:简介虚拟地址空间——保障进程间独立性的机制 "
如何保障进程之间这样的独立性?操作系统采用了“虚拟地址空间”的方式。
15 0
|
8天前
|
存储 Java 调度
Java多线程基础-1:通俗简介操作系统之进程的管理与调度
操作系统是一个复杂的软件,具备许多功能。其中,进程的管理与调度是与我们密切相关的。本文将对操作系统功能中进程管理与调度作出介绍。
21 0
|
11天前
|
调度
进程和线程的区别和联系
进程和线程的区别和联系
18 0
|
11天前
|
算法 调度
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
26 3