亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-02-28 09:30:34彭嬌
        科技資訊 2016年29期
        關(guān)鍵詞:多線程

        彭嬌

        摘 要:多線程的并發(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ò)售票

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

        多線程機(jī)制的并發(fā)性,使得人們能夠在同一臺計(jì)算機(jī)上同時(shí)完成網(wǎng)頁瀏覽、圖片欣賞和語音通話等不同任務(wù)。多線程是Java語言的一個(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語言內(nèi)置了對多線程的支持,可以同時(shí)并行運(yùn)行多個(gè)相對獨(dú)立的線程。多線程機(jī)制是由Java虛擬機(jī)JVM來實(shí)現(xiàn)的。每當(dāng)運(yùn)行Java程序時(shí)就會啟動(dòng)JVM,當(dāng)JVM加載main()方法代碼時(shí),就會啟動(dòng)一個(gè)“主線程”。如果在main()方法中創(chuàng)建了其他線程,這些線程就會從主線程中獨(dú)立出來,而JVM就要在主線程和其他新生線程之間輪流切換,以保證每個(gè)線程都有機(jī)會使用CPU資源,獲得該線程代碼的執(zhí)行,完成相關(guān)的任務(wù)。

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

        在Java語言中,可以通過繼承Thread類的子類或?qū)崿F(xiàn)Runnable接口來創(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)行情況來看,會發(fā)現(xiàn)可能會出現(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來完成多線程同步機(jī)制。具體使用方式為:

        synchronized (對象){

        代碼

        }

        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)無權(quán)使用共享資源。

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

        3 結(jié)語

        Java多線程同步機(jī)制的引入,使得多線程對共享資源互斥訪問。該文以網(wǎng)絡(luò)售票系統(tǒng)為例,通過多線程同步機(jī)制的使用實(shí)現(xiàn)了多售票點(diǎn)對共享票數(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.

        猜你喜歡
        多線程
        Java并發(fā)工具包對并發(fā)編程的優(yōu)化
        基于多線程文件傳輸關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
        網(wǎng)頁爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
        一種基于多線程的高速磁盤鏡像算法
        iOS并發(fā)程序設(shè)計(jì)中幾種方法的特點(diǎn)及使用技巧研究
        基于Android 的移動(dòng)即時(shí)通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        HTM L5 Web WOrker技術(shù)及應(yīng)用研究
        電站鍋爐煤粉參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
        一種高并發(fā)認(rèn)證服務(wù)器的實(shí)現(xiàn)
        一種低開銷的并行重復(fù)數(shù)據(jù)刪除算法
        亚洲视频综合在线第一页| 越猛烈欧美xx00动态图| 青青草成人在线播放视频| 久久久人妻一区二区三区蜜桃d | 亚洲一区爱区精品无码| 中文字幕少妇AV| 国产精品亚洲片夜色在线| 国产av综合一区二区三区最新| 国产精品18久久久久久首页| 色哟哟av网站在线观看| 扒下语文老师的丝袜美腿| 亚洲一区二区不卡日韩| 亚洲精品色播一区二区| 亚洲av日韩精品一区二区| 91久久精品一区二区| 亚洲精品一区三区三区在线 | 大尺度无遮挡激烈床震网站| 国产97色在线 | 国产| 无码人妻一区二区三区免费视频| 日日碰狠狠添天天爽五月婷| 精品乱码久久久久久久| 熟妇的荡欲色综合亚洲| 欧美俄罗斯乱妇| 国产在线不卡视频| 精品人妻一区二区三区av| 日本一区人妻蜜桃臀中文字幕| 永久中文字幕av在线免费| 色欲色香天天天综合vvv| 久久国产加勒比精品无码| 黄瓜视频在线观看| 亚洲aⅴ无码成人网站国产app| 国产免费一级在线观看| 女人一级特黄大片国产精品| 一本色道久久88综合亚洲精品| 国产丝袜一区丝袜高跟美腿| 中美日韩在线一区黄色大片| 亚洲精品无码av人在线观看国产| 狼狼综合久久久久综合网| 国产免费人成视频在线观看| 在线观看无码一区二区台湾| 综合久久久久6亚洲综合|