999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java多線程同步機(jī)制在網(wǎng)絡(luò)售票系統(tǒng)中的應(yīng)用

2017-02-28 09:30:34彭嬌
科技資訊 2016年29期

彭嬌

摘 要:多線程的并發(fā)執(zhí)行可以提高程序的執(zhí)行效率,提高系統(tǒng)資源的利用率。然而在某些情況下,當(dāng)多個(gè)線程同時(shí)訪問一個(gè)變量時(shí),如果處理不當(dāng),很可能發(fā)生混亂。而多線程同步機(jī)制的引入則可以保證多個(gè)線程可以獨(dú)立運(yùn)行、互不干擾。該文主要使用Java的多線程同步機(jī)制模擬網(wǎng)絡(luò)售票過程。

關(guān)鍵詞:多線程 同步機(jī)制 網(wǎng)絡(luò)售票

中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)10(b)-0018-02

多線程機(jī)制的并發(fā)性,使得人們能夠在同一臺(tái)計(jì)算機(jī)上同時(shí)完成網(wǎng)頁(yè)瀏覽、圖片欣賞和語(yǔ)音通話等不同任務(wù)。多線程是Java語(yǔ)言的一個(gè)重要特點(diǎn),可以使Java程序同時(shí)完成不同的任務(wù),而同步機(jī)制則保證這些任務(wù)在運(yùn)行過程中互不干擾。以網(wǎng)絡(luò)售票為例,使用多線程同步機(jī)制模擬售票過程,可實(shí)現(xiàn)多售票點(diǎn)同時(shí)售票,且互不干擾。

1 Java多線程機(jī)制的使用

1.1 Java中的多線程

Java語(yǔ)言內(nèi)置了對(duì)多線程的支持,可以同時(shí)并行運(yùn)行多個(gè)相對(duì)獨(dú)立的線程。多線程機(jī)制是由Java虛擬機(jī)JVM來(lái)實(shí)現(xiàn)的。每當(dāng)運(yùn)行Java程序時(shí)就會(huì)啟動(dòng)JVM,當(dāng)JVM加載main()方法代碼時(shí),就會(huì)啟動(dòng)一個(gè)“主線程”。如果在main()方法中創(chuàng)建了其他線程,這些線程就會(huì)從主線程中獨(dú)立出來(lái),而JVM就要在主線程和其他新生線程之間輪流切換,以保證每個(gè)線程都有機(jī)會(huì)使用CPU資源,獲得該線程代碼的執(zhí)行,完成相關(guān)的任務(wù)。

1.2 多線程機(jī)制的實(shí)現(xiàn)

在Java語(yǔ)言中,可以通過繼承Thread類的子類或?qū)崿F(xiàn)Runnable接口來(lái)創(chuàng)建線程。

Java不允許多繼承,只能繼承一個(gè)類,第一種方法在開發(fā)中限制較大,不適合多個(gè)線程共享資源;第二種方式既可以繼承其他類,也可以實(shí)現(xiàn)其他接口,靈活性比較好,更方便實(shí)現(xiàn)資源共享。多售票點(diǎn)共同售票的過程就可以采用第二種方式實(shí)現(xiàn),每個(gè)售票點(diǎn)的售票活動(dòng)都可視為一個(gè)線程。但是從多線程運(yùn)行情況來(lái)看,會(huì)發(fā)現(xiàn)可能會(huì)出現(xiàn)一些問題,當(dāng)其中一個(gè)售票點(diǎn)售票過程中,另一售票點(diǎn)也在出售同一張票;或票已售完,還有售票點(diǎn)在售票。為了避免這些錯(cuò)誤,可以引入多線程的同步機(jī)制。

2 多線程的同步機(jī)制的使用

2.1 多線程同步機(jī)制的概念

多線程同步機(jī)制,即在一個(gè)線程訪問共享變量時(shí),其他線程不允許訪問,這樣既解決了線程的同步問題也保證了系統(tǒng)的運(yùn)行效率。Java中使用synchronized來(lái)完成多線程同步機(jī)制。具體使用方式為:

synchronized (對(duì)象){

代碼

}

2.2 多線程同步機(jī)制在網(wǎng)絡(luò)售票系統(tǒng)中的應(yīng)用

在網(wǎng)絡(luò)售票系統(tǒng)中,可以使用多線程同步機(jī)制描述網(wǎng)絡(luò)售票過程。每個(gè)售票點(diǎn)的活動(dòng)均可視為一個(gè)線程,待售的票為共享的資源。在開始售票時(shí),須先取得該票的獨(dú)享控制權(quán),售票完成后通知其他售票點(diǎn)該票已售出,在售票過程中其他售票點(diǎn)無(wú)權(quán)使用共享資源。

線程啟動(dòng)獲得CPU之后,將會(huì)執(zhí)行run方法,其中售票的操作使用synchronized關(guān)鍵字進(jìn)行修飾,意味著其他線程需等待,直到synchronized修飾的語(yǔ)句結(jié)束。運(yùn)行結(jié)果如圖1所示。

3 結(jié)語(yǔ)

Java多線程同步機(jī)制的引入,使得多線程對(duì)共享資源互斥訪問。該文以網(wǎng)絡(luò)售票系統(tǒng)為例,通過多線程同步機(jī)制的使用實(shí)現(xiàn)了多售票點(diǎn)對(duì)共享票數(shù)的同步互斥操作,避免了同一張票被多個(gè)售票點(diǎn)賣出或票已售完繼續(xù)售票的問題。合理使用多線程的同步機(jī)制不僅可以提高共享資源的安全性,還可以提高系統(tǒng)的執(zhí)行效率。

參考文獻(xiàn)

[1] 耿鄉(xiāng)義,張躍平.Java程序設(shè)計(jì)實(shí)用教程[M].北京:人民郵電出版社,2015.

[2] 吳紅萍.Java的多線程機(jī)制分析與應(yīng)用[J].軟件導(dǎo)刊,2014(1):114-116.

[3] 李青,王江平,朱浩.Java多線程編程的教學(xué)研究[J].計(jì)算機(jī)教育,2015(12):65-68.

主站蜘蛛池模板: 欧美精品xx| 欧美精品色视频| 91在线播放国产| 动漫精品啪啪一区二区三区| 毛片在线播放a| 精品色综合| 亚洲中文字幕在线观看| 午夜精品久久久久久久无码软件| 欧美狠狠干| 亚洲欧美另类视频| 中文字幕首页系列人妻| 在线看片免费人成视久网下载| 午夜国产大片免费观看| 亚洲精品在线观看91| 真人高潮娇喘嗯啊在线观看| 亚洲狼网站狼狼鲁亚洲下载| 国产在线自乱拍播放| 欧美另类一区| 夜夜操狠狠操| 成人欧美在线观看| 嫩草影院在线观看精品视频| 亚洲天堂网在线视频| 伊人成色综合网| 国产精品人莉莉成在线播放| 免费国产高清精品一区在线| 国产99在线| 91亚洲影院| 国产麻豆aⅴ精品无码| 亚洲综合片| 中文字幕第1页在线播| 狠狠五月天中文字幕| 免费Aⅴ片在线观看蜜芽Tⅴ | 97久久精品人人| 国产一区免费在线观看| 她的性爱视频| 国产屁屁影院| 99精品免费在线| 久久人妻xunleige无码| 亚洲激情99| 国产99热| 久久久成年黄色视频| 99久久这里只精品麻豆| 亚洲欧美日韩高清综合678| 欧美日韩精品一区二区在线线| 五月天久久婷婷| 色综合久久88| 欧美色伊人| 久久久久亚洲Av片无码观看| 国产乱人伦精品一区二区| 亚洲一区二区三区麻豆| 亚洲一区二区在线无码| 99在线视频网站| 国产69囗曝护士吞精在线视频| 国产正在播放| 亚洲成a∧人片在线观看无码| 国产精品成人免费视频99| 亚洲AⅤ永久无码精品毛片| 男女猛烈无遮挡午夜视频| 亚洲欧洲自拍拍偷午夜色无码| 日韩欧美中文字幕在线精品| 国产精品无码AV片在线观看播放| 久久国语对白| 一级毛片免费播放视频| 亚洲国产成人久久精品软件| 色婷婷色丁香| 欧美性天天| 在线欧美a| 国产精品白浆在线播放| 欧洲亚洲欧美国产日本高清| 精品自拍视频在线观看| 国产精品免费电影| 亚洲三级成人| 欧美一级高清免费a| 浮力影院国产第一页| 九九热视频在线免费观看| 国产小视频免费观看| 日韩精品成人在线| 亚洲成人精品在线| 热九九精品| 国产三级成人| 久久无码免费束人妻| lhav亚洲精品|