• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Java多線程編程中數(shù)據(jù)安全的應(yīng)用研究

    2014-12-31 00:00:00張曉麗

    摘 要:隨著各項(xiàng)技術(shù)的進(jìn)步與發(fā)展,Java多線程編程技術(shù)在很多開發(fā)工作中得到非常廣泛的應(yīng)用,其能夠有效實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)中的多線程,并將其予以執(zhí)行,對于程序的執(zhí)行效率的提升具有非常重要的作用,本文就主要對其多線程機(jī)制予以簡單介紹,并在此基礎(chǔ)上,對其多線程編程中的數(shù)據(jù)安全的應(yīng)用研究予以簡單分析,對于實(shí)際的Java多線程編程應(yīng)用具有一定的參考價(jià)值。

    關(guān)鍵詞:Java多線程編程;數(shù)據(jù)安全;應(yīng)用研究

    中圖分類號:TP311.10

    Java多線程機(jī)制的顯著優(yōu)點(diǎn)就是能夠?qū)崿F(xiàn)多個(gè)線程的并行執(zhí)行,對于程序執(zhí)行效率的提升具有非常重要的作用,但是在其編程過程中,由于并發(fā)執(zhí)行的線程比較多,會(huì)產(chǎn)生一個(gè)嚴(yán)重問題就是數(shù)據(jù)安全問題,在資源共享的過程中,如何保證其數(shù)據(jù)安全,是一個(gè)值得關(guān)注的問題,本文就主要針對此予以簡單分析研究。

    1 Java多線程機(jī)制

    目前的計(jì)算機(jī)架構(gòu)中,一個(gè)非常重要的模型就是多線程編程模型,在實(shí)際的應(yīng)用中,要想CPU性能的發(fā)揮最優(yōu),在現(xiàn)有基礎(chǔ)上改變多線程編程模型為主的并行處理系統(tǒng)及其并發(fā)式的應(yīng)用程序是非常必要的,最大限度的應(yīng)用CPU資源是多線程編程的最主要的目的,有利于提升其程序的執(zhí)行效率,并且在Java多線程機(jī)制中,可以創(chuàng)建多個(gè)獨(dú)立的線程,并且能夠?qū)崿F(xiàn)各個(gè)線程的同步,能夠?qū)崿F(xiàn)多任務(wù)的同步執(zhí)行,在資源共享及防鎖死程序中,應(yīng)用該機(jī)制具有非常重要的作用。

    在Java多線程的創(chuàng)建過程中,主要有三個(gè)步驟,即:線程的創(chuàng)作階段、線程的工作指定階段以及線程的斃掉階段。在實(shí)際的Java線程編程過程中,采用的編程形式有兩種,一種是建立起Runnable接口類,在該方式中,由于Java不能進(jìn)行多繼承性,想要類通過線程方式運(yùn)行,并且實(shí)現(xiàn)其他類的繼承,就需要應(yīng)用run()來實(shí)現(xiàn)Runnnable接口,這種方法就是線程的主函數(shù);另一種創(chuàng)建編程形式就是所創(chuàng)建的類通過繼承Thread類實(shí)現(xiàn),在應(yīng)用該線程進(jìn)行run()的重載。

    不同的程序運(yùn)行方式,會(huì)產(chǎn)生不同的運(yùn)行結(jié)果,這主要是因?yàn)檠h(huán)中存在著隨機(jī)暫停,另一方面是由于線程的執(zhí)行時(shí)間不能嚴(yán)格控制,所以在進(jìn)程執(zhí)行的過程中,如果是通過時(shí)間表來安排進(jìn)程的執(zhí)行,就要求與Java相聯(lián)系的所有進(jìn)程都具有一個(gè)優(yōu)先級,這是各個(gè)進(jìn)程相聯(lián)系的關(guān)鍵所在,在其優(yōu)先級設(shè)置過程中,需要注意下列幾點(diǎn)問題:(1)可以通過setpriority()的調(diào)用來改變線程的優(yōu)先級;(2)父線程的優(yōu)先級要能夠被子線程繼承;(3)在優(yōu)先級的確定過程中,需要應(yīng)用1-10的整數(shù)。

    Java程序的執(zhí)行過程中,是從最高優(yōu)先級的程序開始執(zhí)行的,在程序編寫的過程中,要對其優(yōu)先級的級別予以充分的考慮,整個(gè)程序運(yùn)行過程中,較高優(yōu)先級別會(huì)隨著其運(yùn)行狀態(tài)的改變,進(jìn)入到休眠期,而不影響到較低優(yōu)先級別的程序的運(yùn)行,這對于保障整個(gè)程序塊的良好運(yùn)行是非常必要的,這就需要在多線程程序設(shè)計(jì)過程中具有良好的分配優(yōu)先級的能力,保證程序的優(yōu)先級與其價(jià)值相對應(yīng),這也是Java多線程機(jī)制中非常重要的一點(diǎn)。

    2 Java多線程編程中的數(shù)據(jù)安全

    2.1 線程對象中的數(shù)據(jù)安全

    在Java應(yīng)用程序中,對于靜態(tài)變量、普通變量及類成員變量可以應(yīng)用訪問權(quán)限修飾符private、public及protected等對其變量的訪問予以控制,但是在實(shí)際的Java多線程程序中,應(yīng)用這些常規(guī)的數(shù)據(jù)保護(hù)措施難以有效的保證數(shù)據(jù)安全,如下列代碼:

    其運(yùn)行結(jié)果不符合要求,對導(dǎo)致這種情況發(fā)生的主要原因進(jìn)行簡單分析,線程對象在t1在調(diào)用start()方法之后,就立即將str的值輸出,而run()方法中,沒有執(zhí)行到str的相關(guān)賦值語句,要想有效的防止出現(xiàn)這種情況,就需要在run()方法執(zhí)行結(jié)束之后,在執(zhí)行輸出str的相關(guān)程序,這就涉及到Java多線程程序異步執(zhí)行機(jī)制所導(dǎo)致的數(shù)據(jù)安全問題,可以應(yīng)用Thread類的join()方法來解決這一問題,其作用主要是等待線程執(zhí)行完畢,使線程的執(zhí)行順序從異步執(zhí)行編程同步執(zhí)行,就能夠有效的保證普通對象中的數(shù)據(jù)安全,對上述代碼進(jìn)行如下的改進(jìn):

    上述程序的運(yùn)行結(jié)果為:

    線程Thead-0中的成員變量str為:這是成員變量的數(shù)據(jù)。

    線程Thead-1中的成員變量str為:這是成員變量的數(shù)據(jù)。

    2.2 Java多線程通信中的數(shù)據(jù)安全

    在應(yīng)用Java多線程機(jī)制,執(zhí)行多線程程序的過程中,由于存在多個(gè)并發(fā)執(zhí)行的線程,在實(shí)際運(yùn)行過程中,一旦各個(gè)線程之間具有相互依賴或者是次序上的關(guān)系,就需要進(jìn)行各個(gè)線程之間的通信與協(xié)調(diào),以便于其能夠在實(shí)際工作中共同來完成某一特定的任務(wù),而在多線程的通信過程中,最為關(guān)鍵的一點(diǎn)就是要能夠保證各個(gè)線程交互中的相關(guān)數(shù)據(jù)的安全性。在實(shí)際應(yīng)用中,Java中的多線程通信主要通過管道流與共享變量兩種方式來實(shí)現(xiàn),如果采用共享變量的方法來實(shí)現(xiàn)多線程間的通信,為了保障各個(gè)線程通信過程中的數(shù)據(jù)安全,Java中主要提供了三種解決線程間通信問題的方法,分別為:notifyAll()、wait()、notify(),也可以應(yīng)用ThreadLocal類來實(shí)現(xiàn),這種方法主要應(yīng)用于由于多線程中的數(shù)據(jù)并發(fā)所產(chǎn)生的不一致的問題,在該類中,會(huì)為每個(gè)線程中的并發(fā)訪問數(shù)據(jù)提供一個(gè)副本,業(yè)務(wù)的運(yùn)行是通過副本來實(shí)現(xiàn)。

    3 結(jié)束語

    Java多線程編程中需要注意的一個(gè)非常重要的問題就是保證數(shù)據(jù)安全,這對于其安全運(yùn)行是非常必要的,本文就主要結(jié)合相關(guān)實(shí)例,對其線程對象及共享資源中的數(shù)據(jù)安全進(jìn)行了簡單分析。

    參考文獻(xiàn):

    [1]韋慶清,任衛(wèi)東.Java多線程編程中數(shù)據(jù)安全的應(yīng)用研究[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2012(09).

    作者簡介:張曉麗(1976.10-),女,河北保定人,教研室主任,講師,工學(xué)學(xué)士,研究方向:計(jì)算機(jī)教學(xué)。

    作者單位:河套學(xué)院中等職業(yè)技術(shù)學(xué)校,內(nèi)蒙古巴彥淖爾 015000

    施甸县| 南部县| 黑龙江省| 论坛| 汾阳市| 莱芜市| 汉中市| 南召县| 八宿县| 包头市| 定州市| 保定市| 许昌市| 繁昌县| 大化| 丹江口市| 剑川县| 公主岭市| 水城县| 治县。| 封丘县| 会同县| 三门峡市| 随州市| 鄂托克旗| 南涧| 威海市| 屏南县| 阿图什市| 临西县| 荥阳市| 新安县| 德庆县| 祁阳县| 平乡县| 兴安盟| 韶山市| 广水市| 万宁市| 黔西| 石河子市|