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

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

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

瀏覽:23日期: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久久,三上悠亚国产精品一区二区三区
国产私拍福利精品视频二区| 精品一区二区三区中文字幕视频| 成人一二三区| 精品中文在线| 麻豆精品在线观看| 另类欧美日韩国产在线| 欧美极品中文字幕| 精品国产亚洲一区二区三区大结局| 国产毛片久久久| 国产精品视频一区二区三区综合 | 九九久久国产| 成人台湾亚洲精品一区二区 | 国产激情综合| 精品一区二区三区四区五区| 久久精品国产99国产精品| 国产成人久久精品麻豆二区| 日韩欧美自拍| 欧美日韩一区二区综合| 亚洲欧洲日本mm| 亚洲一二av| 国产精品视频一区二区三区| 欧美黄色精品| 日韩欧美视频专区| 亚洲成人日韩| 中文不卡在线| 免费日韩一区二区三区| 国产91在线精品| 欧美成人午夜| 亚洲精品成人一区| 久久爱www.| 99精品国产一区二区三区| 蜜桃av一区| 欧美黑人做爰爽爽爽| 亚洲精品福利电影| 激情久久五月| 日本aⅴ亚洲精品中文乱码| 国产日产精品_国产精品毛片| 精品九九在线| 伊人久久成人| 欧美性www| 日韩中文字幕高清在线观看| 国产精品外国| 麻豆久久久久久| 亚洲二区视频| 欧美日本久久| 麻豆网站免费在线观看| 免播放器亚洲一区| 精品美女视频| 好看的av在线不卡观看| **爰片久久毛片| 婷婷激情一区| 丝袜诱惑制服诱惑色一区在线观看| 欧美午夜三级| 黄色不卡一区| 国产精品自在| 香蕉国产精品| 久久99青青| 亚洲一区区二区| 免费在线欧美黄色| 99在线观看免费视频精品观看| 久久精品97| 99久久激情| 国产h片在线观看| 国产精品一区二区免费福利视频| 中文av在线全新| 中文字幕亚洲精品乱码| 国产精品视频一区二区三区四蜜臂 | av不卡在线| 免费看日韩精品| 国产999精品在线观看 | 红桃视频国产一区| 久久精品五月| 亚洲精品三级| 久久中文字幕二区| 欧美国产视频| 亚洲一区二区日韩| 日韩不卡免费高清视频| 亚洲最大av| se01亚洲视频| 国产精品香蕉| 亚洲深深色噜噜狠狠爱网站| 新版的欧美在线视频| 欧美日韩 国产精品| 国产亚洲在线| 日韩中文在线电影| 欧美黄色一区| 日韩欧美久久| 美女少妇全过程你懂的久久| 国产精品第一国产精品| 免费视频一区二区| 亚洲不卡系列| 国产精品毛片aⅴ一区二区三区| 久久久一二三| 国产精品久久国产愉拍| 婷婷综合一区| 日韩视频免费| 日韩精品欧美激情一区二区| 国产精品99久久免费| 在线观看一区| 亚洲一区成人| 一区在线免费| 亚洲大片在线| 日韩精品第一区| 精品久久91| 久久久精品区| 国产极品久久久久久久久波多结野| 日产欧产美韩系列久久99| 久久中文亚洲字幕| 中文字幕成在线观看| 精品黄色一级片| 国产精品黄网站| 国产欧美一区二区三区国产幕精品 | 中文日韩欧美| 欧美精品激情| 免费视频一区三区| 久久久久国产一区二区| 亚洲黄色免费av| 国产免费久久| 欧美日韩亚洲一区二区三区在线| 亚洲一区av| 天堂va欧美ⅴa亚洲va一国产| 亚洲免费黄色| 欧美日韩国产一区精品一区| 久久国产免费| 在线日韩视频| 91精品成人| 国产精品女主播一区二区三区| 伊人久久亚洲美女图片| 日韩视频二区| 亚洲欧美高清| 综合一区av| 日本高清久久| 最新国产精品| 欧美天堂一区二区| 国产精品极品| 国产在线观看91一区二区三区| 久久免费福利| 国产96在线亚洲| 久久久国产精品一区二区中文| 少妇精品导航| 亚洲精品2区| 一区二区精品| 日韩欧美在线精品| 美女久久精品| 欧洲av不卡| 欧美成人日韩| 香蕉视频成人在线观看| 久久国产福利| 日本vs亚洲vs韩国一区三区二区| 日本不卡视频在线观看| 日韩高清在线不卡| 国产精品传媒麻豆hd| 国产精品国产一区| 久久久精品五月天| 91久久午夜| 日本欧美一区二区在线观看| 欧美韩一区二区| 五月天av在线| 亚洲免费中文| 国产精品久一| 亚洲欧洲高清| 婷婷精品进入| 亚洲欧美高清| 国产日韩中文在线中文字幕| 国产精选在线| 日韩三级久久| 亚洲精品一二三区区别| 欧美va天堂在线| 免费成人性网站| 麻豆国产欧美一区二区三区 | 久久久久久亚洲精品美女| 日韩国产一区| 蜜臀久久99精品久久久久宅男| 国产精品亚洲欧美一级在线| 日韩欧美午夜| 尹人成人综合网| 久久精品99国产精品| 不卡一二三区| 日av在线不卡| 久久中文欧美| 欧美日韩国产探花| 国产精品丝袜在线播放| 99精品美女| 欧美一区成人| 亚洲午夜91| 国产毛片精品久久| 亚洲精品小说| 精品久久免费| 首页国产欧美久久| 久久久久久亚洲精品美女| 久久亚洲国产| 国产日产精品_国产精品毛片 | 久久精品国产网站| 亚洲激情欧美| 国产一区二区三区日韩精品| 久久国产精品毛片| 国产欧美一区二区三区精品酒店| 天堂俺去俺来也www久久婷婷| 一本大道色婷婷在线| 蜜臀av一区二区在线免费观看|