日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Java多線程下解決數據安全問題

瀏覽:26日期:2023-12-04 17:20:44
目錄同步代碼塊同步方法lock鎖同步代碼塊

基本語句

synchronized (任意對象) {

操作共享代碼

}

代碼示例

public class SellTicket implements Runnable { private int tickets = 100; private Object object = new Object(); @Override public void run() {while (true) { synchronized (object) {if (tickets > 0) { try {Thread.sleep(100); } catch (InterruptedException e) {e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票'); tickets--;} }} } public static void main(String[] args) {SellTicket sellTicket = new SellTicket();Thread thread1 = new Thread(sellTicket, '窗口1');Thread thread2 = new Thread(sellTicket, '窗口2');Thread thread3 = new Thread(sellTicket, '窗口3');thread1.start();thread2.start();thread3.start(); }}

優缺點:

解決了多線程的數據安全問題 多線程時,每個線程都會判斷同步上的鎖,耗費資源,降低了程序的運行效率同步方法

同步方法:將synchronized關鍵字加到方法上

格式: 修飾符 synchronized 返回值類型 方法名(){ } 同步方法的鎖對象是this

同步靜態方法,就是把synchronized關鍵字加到靜態方法上

格式: 修飾符 static synchronized 返回值類型 方法名(){ } 同步靜態方法的鎖對象是 類名.class

代碼示例

public class SellTicket implements Runnable {// private int tickets = 100; private static int tickets = 100; private Object object = new Object(); private int x = 0; @Override public void run() {while (true) { if (x % 2 == 0) {//synchronized (object) {//synchronized (this) {synchronized (SellTicket.class) { if (tickets > 0) {try { Thread.sleep(100);} catch (InterruptedException e) { e.printStackTrace();}System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票');tickets--; }} } else {//synchronized (object) {// if (tickets > 0) {//try {// Thread.sleep(100);//} catch (InterruptedException e) {// e.printStackTrace();//}//System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票');//tickets--;// }//}sellTicket(); } x++;} }// private void sellTicket(){//synchronized (object) {// if (tickets > 0) {//try {// Thread.sleep(100);//} catch (InterruptedException e) {// e.printStackTrace();//}//System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票');//tickets--;// }//}// }// private synchronized void sellTicket(){// if (tickets > 0) {//try {// Thread.sleep(100);//} catch (InterruptedException e) {// e.printStackTrace();//}//System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票');//tickets--;// } private static synchronized void sellTicket(){if (tickets > 0) { try {Thread.sleep(100); } catch (InterruptedException e) {e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票'); tickets--;} } public static void main(String[] args) {SellTicket sellTicket = new SellTicket();Thread thread1 = new Thread(sellTicket, '窗口1');Thread thread2 = new Thread(sellTicket, '窗口2');Thread thread3 = new Thread(sellTicket, '窗口3');thread1.start();thread2.start();thread3.start(); }}lock鎖

lock實現提供比使用synchronized方法和語句可獲得更廣泛的操作

void lock()獲得鎖 void unlock()釋放

lock是接口不能直接實例化,采用實現類實例化ReentrantLock

import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class SellTicket implements Runnable { private int tickets = 100; private Object object = new Object(); private Lock lock = new ReentrantLock(); @Override public void run() {while (true) { try {lock.lock();if (tickets > 0) { try {Thread.sleep(100); } catch (InterruptedException e) {e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + '正在出售第' + tickets + '張票'); tickets--;} } finally {lock.unlock(); }} } public static void main(String[] args) {SellTicket sellTicket = new SellTicket();Thread thread1 = new Thread(sellTicket, '窗口1');Thread thread2 = new Thread(sellTicket, '窗口2');Thread thread3 = new Thread(sellTicket, '窗口3');thread1.start();thread2.start();thread3.start(); }

到此這篇關于Java多線程下解決數據安全問題的文章就介紹到這了,更多相關java多線程數據安全內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美一区二区三区免费观看| 蜜芽一区二区三区| 久久精品国内一区二区三区水蜜桃| 日韩国产在线观看| 欧美午夜精彩| 福利一区视频| 国产一区二区三区四区五区| 欧美日韩国产观看视频| 久久精品在线| 亚洲最新av| 国产精品毛片aⅴ一区二区三区| 一区二区三区四区在线看| 国产精品7m凸凹视频分类| 亚洲午夜在线| 国产午夜久久| 欧美永久精品| 日本免费一区二区三区四区| 久久久久国产| 日韩一区二区中文| 欧美日韩一区自拍| 综合国产精品| 欧美日韩va| 日韩专区视频网站| 午夜精品成人av| 国产剧情在线观看一区| 亚洲自啪免费| 欧洲av不卡| 久久国产日韩欧美精品| 精品视频网站| 亚洲精品激情| 蜜桃一区二区三区| 麻豆理论在线观看| 国产精品亚洲欧美一级在线| 天堂成人免费av电影一区| 丝袜美腿一区| 欧美国产一级| 精品一区二区三区中文字幕视频| 成人午夜在线| 亚洲精品护士| 婷婷中文字幕一区| 成人午夜精品| 成年男女免费视频网站不卡| 国产精品va视频| 黄色不卡一区| 日本精品在线播放| 综合激情网...| 日韩午夜免费| 亚洲欧美日本视频在线观看| 欧美精品一二| 在线日韩一区| 亚洲高清毛片| 精品91久久久久| 亚洲电影在线一区二区三区| 久久久精品五月天| 国产精品115| 久久爱www成人| 国产福利亚洲| 欧美91在线|欧美| 国产免费成人| 国产一区二区精品| 久久国产毛片| 精品捆绑调教一区二区三区 | 今天的高清视频免费播放成人| 麻豆91小视频| 91精品尤物| 欧美精品影院| 国产精品久久久久久久久妇女| 日韩av一级片| 一区二区三区网站| 国产精品人人爽人人做我的可爱| 日本不卡高清视频| 在线亚洲欧美| 亚洲欧美日韩专区| 一区二区精彩视频| 日本在线成人| 亚洲最新av| 日韩福利视频网| 欧美日本久久| 欧美国产另类| 亚洲影院天堂中文av色| 亚洲免费观看高清完整版在线观| 久久国产欧美日韩精品| 91成人精品观看| 国产精品地址| 日韩av在线播放网址| 国产精品精品国产一区二区| 国产精品99久久精品| 亚洲天堂1区| 日韩精品一级二级| 欧美日韩精品一区二区三区在线观看| 色在线中文字幕| 日韩在线观看一区| 伊人精品一区| 亚洲一区日韩| 国产精品久久久久久久久久妞妞| 蜜桃精品在线| 国产亚洲一区| 国产精品久久久久久模特| 国产精品777777在线播放 | 亚洲主播在线| 中国女人久久久| 日韩精品社区| 国产精品videosex极品| 欧美少妇精品| 日韩中文字幕麻豆| 久久福利在线| 99re国产精品| 国产精品伦一区二区| 欧美日韩在线二区| 国产亚洲电影| 激情欧美一区二区三区| 亚洲精品自拍| 另类国产ts人妖高潮视频| 国产日韩欧美在线播放不卡| 国产精品主播在线观看| 成人羞羞在线观看网站| 日本在线一区二区三区| 伊人久久视频| 久久成人一区| 日韩成人精品一区| 亚洲视频国产| 日韩一区二区在线免费| 日韩精品免费一区二区夜夜嗨| 日本高清不卡一区二区三区视频| 久久电影一区| 久久精品xxxxx| 欧美69视频| 久久wwww| 国产欧美日韩一级| 你懂的国产精品永久在线| 国产一区91| 日韩欧美一区免费| 国产毛片精品| 三级在线观看一区二区| 中文字幕在线免费观看视频| 国产亚洲精品美女久久| 亚洲一区二区三区四区五区午夜| 日韩高清电影一区| 久久精品国语| 精品72久久久久中文字幕| 日韩午夜一区| 亚洲啊v在线| 国产精品麻豆成人av电影艾秋| 在线一区电影| 国产精品多人| 国产欧美日韩一区二区三区四区 | 性欧美69xoxoxoxo| 日韩av字幕| 99成人在线| 国产成人精品亚洲线观看| 91成人精品观看| 亚洲人成网77777色在线播放| 国产亚洲精品久久久久婷婷瑜伽| 日本美女一区| 日本不卡视频在线观看| 美女精品在线观看| 日韩综合精品| 日本一区二区高清不卡| 国产精品男女| 日韩va亚洲va欧美va久久| 亚洲狼人精品一区二区三区| 妖精视频成人观看www| 免费精品一区| 国产麻豆精品| 国产一卡不卡| 88久久精品| 亚洲精品人人| 亚洲青青久久| 日本在线视频一区二区| 亚洲精品自拍| 亚洲视频二区| 国产99亚洲| 五月天久久久| 1024精品久久久久久久久| 久久精品导航| 欧洲激情综合| 亚洲一区二区免费看| 老鸭窝毛片一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 岛国精品一区| 高清一区二区| 久久永久免费| 免费日韩成人| 成人台湾亚洲精品一区二区 | 日韩av午夜在线观看| 美女毛片一区二区三区四区| 欧美亚洲在线日韩| 国产一区亚洲| 爽好多水快深点欧美视频| 婷婷综合在线| 日本在线精品| 久久免费精品| 亚洲一级少妇| 伊人久久成人| 日本中文字幕不卡| 国产精品片aa在线观看| 波多野结衣久久精品| 久久香蕉国产| 女主播福利一区| 国产农村妇女精品一二区|