1.进程和线程
进程是一个应用程序
线程是一个进程中执行场景,执行单元
一个进程可以启动多个线程,进程与进程之间内存独立不共享
2.在Java语言中:任意两个线程与线程之间,堆内存和方法区内存共享,因为对内存和方法区只有一个,但是栈内存独立,一个线程一个栈,栈内存有很多个
假设有十个线程,会有十个栈空间,每个栈之间互不干扰,各自执行,这就是多线程并发执行
3.实现多线程的两种方式
方法一:继承Thread
Thread类是Java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread实例,Thread类中常用两个构造方法如下:
public Thread(String threadName)
public Thread()
其中,第一个构造方法是创建一个名称为ThreadName的线程对象。继承Thread类创建一个新的线程的语法如下:
public class ThreadTest extends Thread{}
完成线程真正功能的代码放在类的run()方法中,当一个类继承Thread类后,就可以在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread类中的start()方法执行线程,也就是调用run()方法
Thread对象需要一个任务来执行,任务是指线程在启动时执行的工作,该工作的功能代码被写在run()方法中,run()方法必须使用以下语法格式:
public void run(){}
在main()方法中,使线程执行需要调用Thread类中的start()方法,start()方法调用被覆盖的run()方法,如果不调用start()方法,线程永远都不会启动,在主方法没有调用Start()方法之前,Thread对象只是个实例,而不是一个真正的线程
方法二:实现Runnable
标签:run,Thread,线程,内存,多线程,方法 From: https://www.cnblogs.com/ly123dcom/p/17858462.html