1. 多任务实现方法根据操作系统是否随时地能中止程序的运行,可以分为两类。可以随时中止的称为preemptive multitasking,如UNIX/Linux,OS X,Windows NT/XP,以及Windows 9x下的32位程序。不能的则被称为cooperative multitasking,如Windows 3.x和Mac OS 9,已经一些手机上的系统。后者有一个严重的缺陷,当运行的程序不交出控制权的时候,整个系统就挂起了。
多线程则更深入了一步,单独的程序同时执行多个任务。
两者的差异在于,每个进程拥有属于自己的完整的变量群,而线程则享有相同的数据。
2. 运行线程的简单步骤
1) 继承Runnable接口
public interface Runnable
{
void run();
}
class MyRunnable implements Runnable
{
public void run()
{
task code
}
}
2. 创建该类的实例
Runnable r = new MyRunnable();
3. 通过这个实例创建一个线程
Thread t = new Thread(r);
4. 运行该线程
t.start();
另外,也可以通过继承Thread类并覆盖run()方法实现,但并不提倡,因为太多单独的线程很耗资源。
3. 不要直接调用run()方法