在多任务系统中,每个独立执行的程序成为进程,也就是“正在进行的程序”。
我们现在使用的系统一般都是多任务的,即能够同时执行多个应用程序,实际情况是,操作系统负责对cpu等设备的资源进行分配和管理,虽然这些设备某一时刻只能做一件事,但是以非常小的时间间隔交替执行多个程序,就可以给人以同时执行多个程序的感觉。
一个进程中又可以一个或多个线程,一个线程就是一个程序内部的一条执行线索,如果要一个程序中实现多段代码同时交替运行,就需产生多个线程,并指定每个线程上要运行的程序代码段,这就是多线程。
class ThreadDemo1
{
public static void main(String[] args){
new TestThread().start();
while(true){
System.out.println("main() "+Thread.currentThread().getName());
}
}
}
/*
new Thread().start(); new Thread()创建了一个线程,然后调用其start()方法,启动这个线程
线程启动后会调用Thread类的run()方法,该方法为空的函数,里面没有任何代码,也就是说启动这样的线程
没有意义,因此需要创建一个Thread类的子类,在这个子类中覆盖Thread类的run()方法。在方法中编写
我们想要运行的代码。new TestThread() 创建一个Thread类的线程对象,再调用子类对象的start()方法
由多态性知道,尽管TestThread()类的start()方法是从父类继承,但是这个run()方法会调用子类的
run()方法。
*/
class TestThread extends Thread{
public void run(){
while(true){
System.out.println("run() "+Thread.currentThread().getName());
}
}
}