對于網(wǎng)站開發(fā)而言,在Java和其他編程語言中,線程是CPU利用率的基本單位。線程是進(jìn)程的一部分,查看進(jìn)程的一種簡單方法是考慮正在執(zhí)行的程序。
然而,這個定義并不是 100% 準(zhǔn)確的。 一個程序可能有多個進(jìn)程。上面提供的定義只是查看流程的一種簡單而有用的方法。
如前所述,進(jìn)程包含線程。一個線程與同一進(jìn)程的其他線程共享該進(jìn)程的數(shù)據(jù)、代碼和其他資源。
在Java中,開發(fā)人員可以構(gòu)建多線程應(yīng)用程序。多線程允許程序的各個部分并發(fā)或并行運行,從而顯著提高應(yīng)用程序的性能。
重要的是要區(qū)分并發(fā)和并行。一個程序可以同時運行,而不是并行運行。
并發(fā)指的是同一個程序的多個部分被執(zhí)行(不是同時)。這些不同的部分通過分時執(zhí)行。另一方面,并行性是指同一程序的多個部分同時執(zhí)行。
可以通過以下方式在單核系統(tǒng)上實現(xiàn)并發(fā)交叉。然而,并行性只能在多核系統(tǒng)上通過在不同的核上運行多個線程來實現(xiàn)。
線程還可以用來抵消進(jìn)程創(chuàng)建過程中產(chǎn)生的性能開銷。當(dāng)執(zhí)行程序必須執(zhí)行的重復(fù)任務(wù)時,這一點尤其重要。
證明這一點的一個很好的例子是web服務(wù)器。你可以讓你的服務(wù)器在每次用戶發(fā)出請求時創(chuàng)建一個新的進(jìn)程。然而,這將要求在處理下一個用戶的請求之前,首先完成一個用戶。
如果你使用的是多線程應(yīng)用程序,那么你的服務(wù)器只需要一個新線程來處理新請求。由于線程共享同一個進(jìn)程的資源,這將節(jié)省你的程序分配新資源的需要以及隨之而來的開銷。
結(jié)語
當(dāng)編寫普通的Java應(yīng)用程序時,你可以讓JVM為你處理線程。JVM通常一次運行一個程序線程,這可能不適合需要速度的系統(tǒng),比如游戲應(yīng)用程序。因此,作為程序員,你有必要了解如何創(chuàng)建多線程應(yīng)用程序。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號新時空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號