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()方法