多线程概述
程序:为了完成某个任务,完成某个功能而选择某个编程语言(例如C.Java语言Python语言等)编写的一组指令的集合,这组集合是以静态的方法存在于电脑中的.
进程程序的一次运行
进程是操作系统分配资源的最小单位,二一个进程是共享同一份内存等资源,不同的进程之间是不共享内存资源.
如果两个进程之间要进行数据交换,比较复杂,课可以通过"文件".网络通信等方式,成本高.
线程:当某个进程需要同时完成多个功能,那么可以采用多线程.
线程是CPU调度资源的最小单位,换句话说,一个进程是可以有多个线程的.
线程相当于进程中的一跳执行路径,一个进程至少有一条执行路径的,但是可以有多条执行路径.
一个线程可以创建多个对象,不止可以创建一个对象.
其中:堆,方法区中的内存是共享的,栈和程序计数器是每个线程独立
堆:对象 --------->实例变量 ,线程共享
方法区:类的信息,常量,静态等-----------> 常量,静态变量线程共享.
栈:局部变量 ---------->>局部变量是每个线程独立的
JavaApplication:至少一个main线程,但是后台(JVM)中海油别的线程,GC(Java垃圾回收),异常的监视和处理的线程,类的加载.
Java要如何开启main以外的线程?
(1)继承Thread类
(2)实现Runnable接口
继承Thread类
/**
*
*/
package com.