亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Java synchronize線程安全測試

瀏覽:110日期:2022-09-02 18:31:22

線程的運行是與當前CPU的資源調度與時間片是有關系的,當一個線程中的執行到某一部分方法的時候輪到另外一個線程來執行相應的代碼,所以還沒有等到第一個線程執行完那么CPU有切換到另外一個線程來運行其相應的代碼,所以這個時候假如操作公共的數據部分就會出現錯誤

為了解決這個問題,可以使用 synchronized 同步代碼塊來對公共部分進行同步操作

在用synchronize關鍵字修飾同步代碼塊時,運行代碼發現不能交替賣票。 以下是初始代碼

package com.itheima.Test;public class Test1a { public static void main(String[] args) { Ticket1a t1=new Ticket1a(); new Thread(t1,'A').start(); new Thread(t1,'B').start(); new Thread(t1,'C').start(); }}class Ticket1a implements Runnable{ int ticket=100; @Override public void run() { synchronized (Ticket1a.class) { while (true) { if (ticket<=0) {break; } try {Thread.sleep(20); } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace(); }System.out.println(Thread.currentThread().getName()+' sold '+(ticket--)); } } }}

運行結果:

A sold 100A sold 99A sold 98A sold 97A sold 96A sold 95A sold 94A sold 93A sold 92A sold 91...A sold 10A sold 9A sold 8A sold 7A sold 6A sold 5A sold 4A sold 3A sold 2A sold 1

雖然解決了線程的安全問題,但是不能實現三個窗口交替賣票。后來仔細一看,是synchronize關鍵字修飾的代碼塊位置不對,相當于修飾了同步方法。

更改后:

@Override public void run() { while (true) {synchronized (Ticket1a.class) { if (ticket<=0) {break; } try {Thread.sleep(20); } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace(); }System.out.println(Thread.currentThread().getName()+' sold '+(ticket--)); } } }

這樣就完成了線程安全的小測試。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 欧美一级毛片片aa视频 | 国产精品国内免费一区二区三区 | 亚洲欧美第一 | 小明看片| 国产一级特黄老妇女大片免费 | 久青草国产在线视频_久青草免 | 国产精品香蕉在线观看不卡 | 亚洲欧美精品伊人久久 | 青青操在线视频 | 中国一级大片 | 小明看看成人免费 | 免费国产小视频在线观看 | 玖玖玖视频在线观看视频6 玖玖视频精品 | 成人久久18免费网址 | 成人午夜在线观看国产 | 免费a级在线观看完整片 | 免费超爽大片黄网站 | yy6080久久亚洲精品 | 国产成人高清精品免费软件 | 亚洲韩精品欧美一区二区三区 | 久青草国产手机在线视频 | 亚洲综合美腿丝国产一区 | 黄色xxx| 天天射色综合 | 99久久精品免费看国产一区二区 | 日本wwwwwxxxxx| 国产亚洲精品成人婷婷久久小说 | 日韩亚洲欧洲在线rrrr片 | 亚洲图片色图 | 狠狠色丁香婷婷久久综合考虑 | 国产黄色在线视频 | 欧美另类videosbestsex久久 | 午夜激情福利网 | 欧美精品亚洲精品日韩专区 | 男女爱爱小视频在线观看 | 免费一级黄色片 | 欧美视频一区 | 国产日韩欧美视频在线 | 欧美成人h版影片在线观看 欧美成人h版影院在线播放 | 欧美日韩1区2区 | 免费日本毛片 |