在学习Java多线程之前,必须先知道什么叫多线程。而在了解多线程之前,得先知道什么是进程和多线程。
1、什么是进程:
根据百度百科:
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;
在当代面向线程设计的计算机结构中,进程是线程的容器。
程序是指令、数据及其组织形式的描述,进程是程序的实体。
什么意思呢?
我们再看一张图:
你所看到的就是进程。
简单来说,进程就是程序进行资源调度的最小单位,是在处理器上面执行的活动。
最重要的特点就是,每个进程有自己的独立的内存。
个人理解:进程区别于程序:程序是一段代码,是死的(静态的,不调用就没有什么效果的一些语句),而让程序运行起来,就需要根据程序创建一个一个任务(进程),因为进程是搜操作系统管理的基本运行单元。
2、下面我们谈谈什么是多线程?
第一:线程可以理解为进程中独立运行的子任务。为什么要开辟子任务呢?前面说了,进程之间是不共享内存的,而进程的“儿子们”,值共享。线程是共享内存空间的并发执行的多任务,每一个线程都共享一个进程的资源。线程是CPU独立运行和独立调度的基本单位。
第二:为什么加一个 多 这个字呢?
一个进程至少有一个线程。这是理论上的,实际上一个进程肯定会有很多个线程。所以,这可能就是多的意思吧。
3、下面我们来看一个例子:
package test;
//查看当前进程
public class Test{
public static void main(String[] args){
System.out.println(Thread.currentThread().getName());
}
}
更多内容请关注微信公众号“外里科技”
官方公众号 | 外里科技 |
运营公众号 | 英雄赚 |
微信 | wxid_8awklmbh1fzm22 |
1247408032 | |
开源代码 | https://gitee.com/B_T/beimi |