日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java多线程(1)--基本概念:程序、进程、线程

發(fā)布時(shí)間:2023/12/2 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java多线程(1)--基本概念:程序、进程、线程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

程序(program)是為完成特定任務(wù)、用某種語(yǔ)言編寫(xiě)的一組指令的集合。即指一段靜態(tài)的代碼,靜態(tài)對(duì)象。

進(jìn)程(process)是程序的一次執(zhí)行過(guò)程,或是正在運(yùn)行的一個(gè)程序,是一個(gè)動(dòng)態(tài)的過(guò)程:有它自身的產(chǎn)生、存在和消亡的過(guò)程。——生命周期,如:運(yùn)行中的QQ,運(yùn)行中的MP3播放器

程序是靜態(tài)的,進(jìn)程是動(dòng)態(tài)的。
進(jìn)程作為資源分配的單位,系統(tǒng)在運(yùn)行時(shí)會(huì)為每個(gè)進(jìn)程分配不同的內(nèi)存區(qū)域。

線程(thread),進(jìn)程可進(jìn)一步細(xì)化為線程,是一個(gè)程序內(nèi)部的一條執(zhí)行路徑。若一個(gè)進(jìn)程同一時(shí)間并行執(zhí)行多個(gè)線程,就是支持多線程的線程作為調(diào)度和執(zhí)行的單位,每個(gè)線程擁有獨(dú)立的運(yùn)行棧和程序計(jì)數(shù)器(pc),線程切換的開(kāi)銷小。

一個(gè)進(jìn)程中的多個(gè)線程共享相同的內(nèi)存單元/內(nèi)存地址空間,它們從同一堆中分配對(duì)象,可以訪問(wèn)相同的變量和對(duì)象。這就使得線程間通信更簡(jiǎn)便、高效。但多個(gè)線程操作共享的系統(tǒng)資源可能就會(huì)帶來(lái)安全的隱患



一個(gè)Java應(yīng)用程序java.exe,其實(shí)至少有三個(gè)線程:main()主線程,gc()垃圾回收線程,異常處理線程。當(dāng)然如果發(fā)生異常,會(huì)影響主線程。


并行:多個(gè)CPU同時(shí)執(zhí)行多個(gè)任務(wù)。如:多個(gè)人同時(shí)做不同的事。
并發(fā):一個(gè)CPU(采用時(shí)間片)同時(shí)執(zhí)行多個(gè)任務(wù)。如:秒殺、多個(gè)人做同一件事。


多線程程序的優(yōu)點(diǎn):
①提高應(yīng)用程序的響應(yīng)。對(duì)圖形化界面更有意義,可增強(qiáng)用戶體驗(yàn)
②提高計(jì)算機(jī)系統(tǒng)CPU的利用率
③改善程序結(jié)構(gòu)。將既長(zhǎng)又復(fù)雜的進(jìn)程分為多個(gè)線程,獨(dú)立運(yùn)行,利于理解和修改


何時(shí)需要多線程

程序需要同時(shí)執(zhí)行兩個(gè)或多個(gè)任務(wù)。
程序需要實(shí)現(xiàn)一些需要等待的任務(wù)時(shí),如用戶輸入、文件讀寫(xiě)操作、網(wǎng)絡(luò)操作、搜索。
需要一些后臺(tái)運(yùn)行的程序時(shí)。

總結(jié)

以上是生活随笔為你收集整理的Java多线程(1)--基本概念:程序、进程、线程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。