线程的介绍

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

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

线程(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线程交替运行。多线程运行的结果没有规律,每次结果不同

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。