六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Java多線程編程精要之基礎

[摘要]在 Java 程序中使用多線程要比在 C 或 C++ 中容易得多,這是因為 Java 編程語言提供了語言級的支持。本文通過簡單的編程示例來說明 Java 程序中的多線程是多么直觀。讀完本文以后,用戶應該能夠編寫簡單的多線程程序。   為什么會排隊等待?   下面的這個簡單的 Java 程序完成四項...
在 Java 程序中使用多線程要比在 C 或 C++ 中容易得多,這是因為 Java 編程語言提供了語言級的支持。本文通過簡單的編程示例來說明 Java 程序中的多線程是多么直觀。讀完本文以后,用戶應該能夠編寫簡單的多線程程序。

  為什么會排隊等待?

  下面的這個簡單的 Java 程序完成四項不相關的任務。這樣的程序有單個控制線程,控制在這四個任務之間線性地移動。此外,因為所需的資源 — 打印機、磁盤、數據庫和顯示屏 -- 由于硬件和軟件的限制都有內在的潛伏時間,所以每項任務都包含明顯的等待時間。因此,程序在訪問數據庫之前必須等待打印機完成打印文件的任務,等等。如果您正在等待程序的完成,則這是對計算資源和您的時間的一種拙劣使用。改進此程序的一種方法是使它成為多線程的。 四項不相關的任務

  class myclass {
  static public void main(String args[]) {
  print_a_file();
  manipulate_another_file();
  access_database();
  draw_picture_on_screen();
  }
  }

  在本例中,每項任務在開始之前必須等待前一項任務完成,即使所涉及的任務毫不相關也是這樣。但是,在現實生活中,我們經常使用多線程模型。我們在處理某些任務的同時也可以讓孩子、配偶和父母完成別的任務。例如,我在寫信的同時可能打發我的兒子去郵局買郵票。用軟件術語來說,這稱為多個控制(或執行)線程。 可以用兩種不同的方法來獲得多個控制線程:

  多個進程

  在大多數操作系統中都可以創建多個進程。當一個程序啟動時,它可以為即將開始的每項任務創建一個進程,并允許它們同時運行。當一個程序因等待網絡訪問或用戶輸入而被阻塞時,另一個程序還可以運行,這樣就增加了資源利用率。但是,按照這種方式創建每個進程要付出一定的代價:設置一個進程要占用相當一部分處理器時間和內存資源。而且,大多數操作系統不允許進程訪問其他進程的內存空間。因此,進程間的通信很不方便,并且也不會將它自己提供給容易的編程模型。

  線程

  線程也稱為輕型進程 (LWP)。因為線程只能在單個進程的作用域內活動,所以創建線程比創建進程要廉價得多。這樣,因為線程允許協作和數據交換,并且在計算資源方面非常廉價,所以線程比進程更可取。線程需要操作系統的支持,因此不是所有的機器都提供線程。Java 編程語言,作為相當新的一種語言,已將線程支持與語言本身合為一體,這樣就對線程提供了強健的支持。


主站蜘蛛池模板: 欧美在线免费播放 | 亚欧精品一区二区三区 | 在线a久青草视频在线观看g | 日本五级床片全部硬硬 | 日本红怡院亚洲红怡院最新 | 四虎免费在线视频 | 日韩激情中文字幕 | 亚洲欧洲一区二区三区 | 亚洲视频国产视频 | 日产精品卡二卡三卡四卡乱码视频 | 啪啪.com | 五月亭亭六月丁香 | 亚洲最色网站 | 最新国产你懂的在线网址 | 欧美一区在线播放 | 天天色天天爱 | 伊人中文字幕 | 亚洲综合第一页 | 天堂8中文在线最新版在线 天堂8中文在线bt | 亚洲美女综合 | 香蕉国产成版人视频在线观看 | 五级床片全部免费播放 | 日韩一区二区三区视频在线观看 | 伊人影院在线观看 | 欧洲熟色妇| 在线高清h视频在线观看 | 亚洲网站色 | 欧美一级看片免费观看视频在线 | 亚洲啪啪免费视频 | 永久免费mv网站入口 | 日韩精品一区二区三区免费视频 | 日本免费一区视频 | 亚洲福利一区二区 | 色综合色综合色综合 | 最新在线精品国自产拍网站 | 青青草黄| 最近中文字幕无吗免费版 | 日本a级片在线播放 | 在线免费看污视频 | 天天摸日日添狠狠添婷婷 | 最新版天堂中文在线官网 |