多进程:在操作系统中能(同时)运行多个任务(程序)
多线程:在同一应用程序中有多个顺序流(同时)执行
线程(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线程交替运行。多线程运行的结果没有规律,每次结果不同
时间: 2024-10-09 07:50:54