首页 > 代码库 > 线程的介绍

线程的介绍

多进程:在操作系统中能(同时)运行多个任务(程序)

多线程:在同一应用程序中有多个顺序流(同时)执行

线程(thread)的执行过程

首先生成线程(New),然后进入就绪状态(Runable),和其他线程一起抢占cpu执行的时间。抢到cpu执行的时间后,进入运行状态(Running),在运行过程中cpu执行的时间可能会被其他线程抢占了,该线程则又进入就绪状态,等待下一次抢占cpu执行的时间。线程在运行过程中可能会遇到阻塞事件,解除阻塞状态后则又进入就绪状态。线程代码运行完毕后进入死亡状态(Dead)

创建线程的方法:

定义一个线程类,继承Thread类并重写其中的run()方法,run()方法称为线程体。由于java只支持单继承,用这种方法定义的类不能再继承其他类。

class FirstThread extends Thread{	public void run(){		for(int i = 0;i < 100;i++){			System.out.println("FirstThread-->" + i);		}	}}
class Test{	public static void main(String args[]){		//生成线程类的对象		FirstThread ft = new FirstThread();		//启动线程,进入就绪状态,与main线程抢占cpu		//ft.run();不能这样写!		ft.start();		//main线程		for(int i =0;i < 100;i++){			System.out.println("main-->" + i);		}				//两个for循环运行在不同的线程当中	}}

一旦运行Test类,在程序中存在三个线程:main线程,ft线程,垃圾回收线程。main和ft线程交替运行。多线程运行的结果没有规律,每次结果不同

 

线程的介绍