1. 多任務實現(xiàn)方法根據(jù)操作系統(tǒng)是否隨時地能中止程序的運行,可以分為兩類。可以隨時中止的稱為preemptive multitasking,如UNIX/Linux,OS X,Windows NT/XP,以及Windows 9x下的32位程序。不能的則被稱為cooperative multitasking,如Windows 3.x和Mac OS 9,已經(jīng)一些手機上的系統(tǒng)。后者有一個嚴重的缺陷,當運行的程序不交出控制權的時候,整個系統(tǒng)就掛起了。
          多線程則更深入了一步,單獨的程序同時執(zhí)行多個任務。
          兩者的差異在于,每個進程擁有屬于自己的完整的變量群,而線程則享有相同的數(shù)據(jù)。

          2. 運行線程的簡單步驟

          1) 繼承Runnable接口
          public interface Runnable
          {
          void run();
          }
          class MyRunnable implements Runnable
          {
          public void run()
          {
          task code
          }
          }
          2. 創(chuàng)建該類的實例
          Runnable r = new MyRunnable();
          3. 通過這個實例創(chuàng)建一個線程
          Thread t = new Thread(r);
          4. 運行該線程
          t.start();

          另外,也可以通過繼承Thread類并覆蓋run()方法實現(xiàn),但并不提倡,因為太多單獨的線程很耗資源。

          3. 不要直接調(diào)用run()方法


          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2.25 Java notes - Multithreading

          Posted on 2007-04-22 20:25 ZelluX 閱讀(224) 評論(0)  編輯  收藏 所屬分類: OOP
          2007-02-25 14:09:11
          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 黄平县| 青海省| 新泰市| 平阴县| 黔西县| 惠水县| 临沧市| 潮安县| 中江县| 湘潭市| 杭锦后旗| 新和县| 安化县| 克什克腾旗| 固阳县| 大埔县| 宁晋县| 武汉市| 太谷县| 阳春市| 萨嘎县| 青河县| 甘南县| 马山县| 浦县| 宁南县| 华池县| 香格里拉县| 佛学| 托克逊县| 镇坪县| 灵川县| 阳朔县| 光泽县| 怀来县| 云南省| 梅河口市| 巩留县| 永兴县| 包头市| 大姚县|