1. 多任務(wù)實(shí)現(xiàn)方法根據(jù)操作系統(tǒng)是否隨時(shí)地能中止程序的運(yùn)行,可以分為兩類。可以隨時(shí)中止的稱為preemptive multitasking,如UNIX/Linux,OS X,Windows NT/XP,以及Windows 9x下的32位程序。不能的則被稱為cooperative multitasking,如Windows 3.x和Mac OS 9,已經(jīng)一些手機(jī)上的系統(tǒng)。后者有一個(gè)嚴(yán)重的缺陷,當(dāng)運(yùn)行的程序不交出控制權(quán)的時(shí)候,整個(gè)系統(tǒng)就掛起了。
多線程則更深入了一步,單獨(dú)的程序同時(shí)執(zhí)行多個(gè)任務(wù)。
兩者的差異在于,每個(gè)進(jìn)程擁有屬于自己的完整的變量群,而線程則享有相同的數(shù)據(jù)。
2. 運(yùn)行線程的簡(jiǎn)單步驟
1) 繼承Runnable接口
public interface Runnable
{
void run();
}
class MyRunnable implements Runnable
{
public void run()
{
task code
}
}
2. 創(chuàng)建該類的實(shí)例
Runnable r = new MyRunnable();
3. 通過這個(gè)實(shí)例創(chuàng)建一個(gè)線程
Thread t = new Thread(r);
4. 運(yùn)行該線程
t.start();
另外,也可以通過繼承Thread類并覆蓋run()方法實(shí)現(xiàn),但并不提倡,因?yàn)樘鄦为?dú)的線程很耗資源。
3. 不要直接調(diào)用run()方法