工程建设信息官方网站,天津网站制作套餐,石家庄网页设计工资,建设营销型网站多少钱在我们开始讲多线程之前#xff0c;我们先来了解一下什么是进程#xff0c;什么是线程。进程和线程是操作系统中两个容易混淆的概念。
进程
在Windows操作系统中打开任务管理器#xff0c;可以查看进程和线程的详细信息。也可以使用专业的进程查看小软件——Process Explo…在我们开始讲多线程之前我们先来了解一下什么是进程什么是线程。进程和线程是操作系统中两个容易混淆的概念。
进程
在Windows操作系统中打开任务管理器可以查看进程和线程的详细信息。也可以使用专业的进程查看小软件——Process Explorer来查看系统中的进程和线程如下图所示 在Windows操作系统中进程被分为后台进程和应用进程两类。大部分后台进程在系统开始运行时被操作系统启动完成操作系统的基础服务功能。大部分应用进程主要由用户启动完成用户所需要的具体应用功能比如听音乐、社交聊天、浏览网站等。
在操作系统第4版中对进程的定义描述所谓”进程“是指一个程序在给定数据集合上的一次执行过程是系统进行资源分配和运行调度的独立单位简单来说进程是程序的一次启动执行。
程序是一个在时间上严格有序的指令集合简单来说程序是存放在硬盘中的可执行文件主要包括代码指令和数据。进程是程序的一次启动和执行是操作系统将程序装入内存给程序分配必要的系统资源并且开始运行程序的指令。
进程是程序的一次执行过程程序是进程赖以存在的基础。同一个程序可以多次启动对应多个进程。
一般来说一个进程由程序段、数据段和进程控制块三部分组成如下图所示 线程
随着计算机的发展CPU的性能越来越高线程的出现主要是为了充分发挥CPU的计算性能提升CPU的硬件资源的利用率同时弥补进程调度过于笨重产生的问题。
线程是指“进程代码段”的一次的顺序执行流程。进程是操作系统资源分配的最小单元而线程是CPU调度的最小单位。
Java程序的进程执行过程就是标准的多线程的执行过程。每当使用Java命令执行一个class类时实际上就是启动了一个JVM进程。理论上在该进程的内部至少会启动两个线程一个main线程另一个是GC垃圾回收线程。如下图所示 一个标准的线程主要由三部分组成即线程描述信息、程序计数器Program CounterPC和栈内存如下图所示 THread类
一个线程在Java中使用一个Thread实例来描述。Thread类是Java语言一个重要的基础类位于java.lang包中。
线程的启动、运行、调度和生命周期管理高度依赖于操作系统java本身不具备与底层操作系统交互的能力。因此线程的底层操作都使用了native方法在创建Thread类实例首先会执行registerNatives()方法调用函数库的底层线程注册方法源码如下 private static native void registerNatives();static {registerNatives();}
线程池
ThreadLocal