国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

JAVA教程:解析Java的多線程機制(4)

瀏覽:61日期:2024-07-02 13:29:56
內容: 線程間的同步 Java應用程序的多個線程共享同一進程的數據資源,多個用戶線程在并發運行過程中可能同時訪問具有敏感性的內容。在Java中定義了線程同步的概念,實現對共享資源的一致性維護。下面以筆者最近開發的移動通信計費系統中線程間同步控制方法,說明Java語言中多線程同步方式的實現過程。 在沒有多線程同步控制策略條件下的客戶賬戶類定義框架代碼如下所示: public class RegisterAccount { float fBalance; //客戶繳費方法 public void deposit(float fFees){ fBalance += fFees; } //通話計費方法 public void withdraw(float fFees){ fBalance -= fFees; } … … } 讀者也許會認為:上述程序代碼完全能夠滿足計費系統實際的需要。確實,在單線程環境下該程序確實是可靠的。但是,多進程并發運行的情況是怎樣的呢?假設發生這種情況:客戶在客戶服務中心進行繳費的同時正在利用移動通信設備僅此通話,客戶通話結束時計費系統啟動計費進程,而同時服務中心的工作人員也提交繳費進程運行。讀者可以看到如果發生這種情況,對客戶賬戶的處理是不嚴肅的。 如何解決這種問題呢?很簡單,在RegisterAccount類方法定義中加上用于標識同步方法的關鍵字synchronized。這樣,在同步方法執行過程中該方法涉及的共享資源(在上述代碼中為fBalance成員變量)將被加上共享鎖,以確保在方法運行期間只有該方法能夠對共享資源進行訪問,直到該方法的線程運行結束打開共享鎖,其它線程才能夠訪問這些共享資源。在共享鎖沒有打開的時候其它訪問共享資源的線程處于阻塞狀態。 進行線程同步策略控制后的RegisterAccount類定義如下面代碼所示: public class RegisterAccount { float fBalance; public synchronized void deposit(float fFees){ fBalance += fFees; } public synchronized void withdraw(float fFees){ fBalance -= fFees; } … … } 從經過線程同步機制定義后的代碼形式可以看出:在對共享資源進行訪問的方法訪問屬性關鍵字(public)后附加同步定義關鍵字synchronized,使得同步方法在對共享資源訪問的時候,為這些敏感資源附加共享鎖來控制方法執行期間的資源獨占性,實現了應用系統數據資源的一致性管理和維護。 轉自: 賽迪網 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲网站视频 | 久久久www成人免费精品 | a级在线观看视频 | 不卡一区二区在线观看 | 国产精品视频九九九 | 国产精品二区页在线播放 | 欧美国产日韩一区二区三区 | 久青草国产手机在线观 | 国产一区二区亚洲精品 | 国产成人99精品免费观看 | 国产精品爱久久久久久久9999 | 三级中文字幕永久在线视频 | 亚欧人成精品免费观看 | 国产国语对白一级毛片 | 成人在线网站 | 视频一区 在线 | 一级做a爱片久久毛片 | 国产区精品一区二区不卡中文 | 真实一级一级一片免费视频 | 日本欧美做爰全免费的视频 | 日韩精品中文字幕在线 | 女人张开腿男人捅 | 日韩精品一区二区三区四区 | 中文字幕在线乱码不卡区区 | 高清成人爽a毛片免费网站 高清大学生毛片一级 | 国产精品久久久久久久9999 | 免费观看成人www精品视频在线 | 国产人成在线视频 | 日韩精品视频美在线精品视频 | 国产在线小视频 | 国产婷婷成人久久av免费高清 | 亚洲精品国产福利 | 成人免费大片黄在线观看com | 美女视频黄在线观看 | 欧美最刺激好看的一级毛片 | 中国欧美一级毛片免费 | 韩国毛片视频 | 亚洲精品人成网线在线 | 久久亚洲私人国产精品 | 久久久久免费精品视频 | 久久久免费精品视频 |