亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

小陳在完成一段代碼后進行了測試,發(fā)現(xiàn)代碼的運行效率無法滿足需求,在提高程序的執(zhí)行效率同時不影響功能的前提下,想到了一個還不錯的解決方案——多線程。接下小陳老師會以簡單直白的方式讓大家更加容易理解什么是多線程。

講到“線程”這個詞不得不先和大家說下它的另外兩兄弟“程序”和“進程”,那么它們之間又是什么關(guān)系呢?

程序:當我們打開電腦或手機上的軟件,比如瀏覽器、游戲或文字處理器,其實都是程序。程序就是一系列的指令,告訴計算機要做什么事情。就像一本菜譜教會你怎么做菜一樣,程序告訴計算機怎么完成各種任務(wù)。

進程:進程是計算機中正在運行的程序的一個實例。就像你打開了一個游戲,或者同時運行了幾個應用程序,每個運行中的程序都是一個進程。每個進程都有它自己獨立的運行空間,就像每個人在自己的房間里做自己的事情一樣。

線程:線程是進程中的小單位,它是一個執(zhí)行任務(wù)的工作單元。就像一本書中的每一頁,每個線程負責完成進程中的一部分工作。不同的線程可以同時在一個進程中工作,就像多個人在一個房間里同時做不同的事情。

回到我們文章的開頭,我們?yōu)槭裁匆褂枚嗑€程呢?首先是多線程可以提高我們程序的效率,舉一個實際的生活案例,老師讓小明同學在一個小時之內(nèi)打掃完二十間教室,但是實際情況,小明一個小時只能打掃五間教室,如果按照這樣的話需要四小時才能完成,為了完成老師的任務(wù)在一個小時只能完成,小明可以邀請小紅、小軍、小芳四個人一起打掃,這樣四個人同時干活,在一個小時內(nèi)完成了任務(wù),原本用4個小時完成的任務(wù)現(xiàn)在只需要1個小時就完成了,如果把每位同學看做一個線程,多個同學即多線程可以提高程序的效率(如圖1)。

了解多線程和單線程

那么同學可能會有新問題了,多線程的應用場景是什么呢?一般來說線程和線程之間比較獨立,互不影響,比如一個線程任務(wù)是收取小王的郵件,另外一個線程的任務(wù)是收取小芳的郵件,這就屬于互不影響。

當然還有情況就是并行的任務(wù)之間沒有繼承或因果關(guān)系,比如小明一個人打掃需要四小時,如果四個人打掃只需要一個小時,明顯效率提升了,但如果小明的工作成果是其他人的工作原材料,那么其他線程就只能在旁邊干瞪眼了,這也是程序運行時死機的原因之一——后續(xù)線程等不到前置線程反饋的結(jié)果。

下面我就通過JAVA代碼展示簡單的單線程和多線程的運用,以吃飯和喝酒舉例,正常單線程情況下就是順序執(zhí)行:開始吃飯,結(jié)束吃飯,開始喝酒,結(jié)束喝酒。順序執(zhí)行下來,在每一步中間我還等待了一秒鐘(圖2)。

了解多線程和單線程

如果我想邊吃飯邊喝酒的話就需要通過多線程來實現(xiàn)了。多線程的實現(xiàn)方式和具體實現(xiàn)方法有很多種,本例我采用了繼承Thread類,重寫run方法的形式完成多線程的執(zhí)行。我們也可以通過實現(xiàn)Runable接口,重寫run方法,這一樣可以完成任務(wù)(圖3)。通過的代碼的運行我們不難發(fā)現(xiàn)原本先吃飯后喝酒就變成了邊吃飯邊喝酒,你能體會到多線程的好處嗎?

了解多線程和單線程

多線程相比單線程來說有很大的優(yōu)勢,多線程允許程序在同一時間執(zhí)行多個任務(wù),利用多核處理器的性能,實現(xiàn)并行處理,從而加快程序的執(zhí)行速度。這在處理大規(guī)模計算密集型任務(wù)時特別有效。

在單線程程序中,如果有一個耗時的任務(wù)在執(zhí)行,會導致整個程序被阻塞,用戶體驗較差。而多線程允許將耗時任務(wù)放入后臺線程執(zhí)行,主線程可以保持響應,不會被阻塞,從而提高系統(tǒng)的響應性和用戶體驗。

分享到:
標簽:多線程
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定