Java对多线程的支持
1) Java在语言级提供了对多线程程序设计的支持。
2) 实现多线程程序的两种方式:
(1)从Thread类继承;
(2)实现Runnable接口。
3)Java运行时系统实现了一个用于调度线程执行的线程调度器,用于确定某一时刻由哪一个线程在CPU上运行。
4) 在java技术中,线程通常是抢占式的而不需要时间片分配进程(分配给每个线程相等的CPU时间的进程)。抢占式调度模型就是许多线程处于可以运行状态(等待状态),但实际上只有一个线程在运行。该线程一直运行到它终止进入可运行状态(等待状态),或者另一个具有更高优先级的线程变成可运行状态。在后一种情况下,低优先级的线程被高优先级的线程抢占,高优先级的线程获得运行的机会。
5) Java线程调度器支持不同优先级线程的抢先方式,但其本身不支持相同优先级线程的时间片轮换。
6) Java运行时系统所在的操作系统(例如:Windows2000)支持时间片的轮换,则线程调度器就支持相同优先级线程的时间片轮换。
通过继承Thread类来实现多线程
从Thread类继承的代码,子类重写run方法,而线程创建后就调用start方法,start方法会调用run方法。
class MultiThread
{
public static void main(String[]args)
{
MyThread mt=new MyThread ();
mt.start();
int index=0;
System.out.println(Thread.currentThread().getName());
}
}
class MyThread extends Thread
{