日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java中解决脏读_java并发编程学习之脏读代码示例及处理

發布時間:2025/3/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中解决脏读_java并发编程学习之脏读代码示例及处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用interrupt()中斷線程 ? ??當一個線程運行時,另一個線程可以調用對應的Thread對象的interrupt()方法來中斷它,該方法只是在目標線程中設置一個標志,表示它已經被中斷,并立即返回。這里需要注意的是,如果只是單純的調用interrupt()方法,線程并沒

public class Thread10 {

public static void main(String[] args) {

Thread10_Entity entity = new Thread10_Entity();

Thread10_1 t10_1 = new Thread10_1(entity);

t10_1.start();

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(entity.get());

}

}

class Thread10_1 extends Thread {

private Thread10_Entity thread10_Entity;

public Thread10_1(Thread10_Entity t10) {

this.thread10_Entity = t10;

}

@Override

public void run() {

thread10_Entity.set("admin", "admin");

}

}

class Thread10_Entity {

private String username = "user";

private String password = "user";

synchronized void set(String username, String password) {

this.username = username;

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

this.password = password;

}

String get() {

return username + " " + password;

}

}

運行結果:admin userExecutor框架簡介 ? ??在Java 5之后,并發編程引入了一堆新的啟動、調度和管理線程的API。Executor框架便是Java 5中引入的,其內部使用了線程池機制,它在java.util.cocurrent 包下,通過該框架來控制線程的啟動、執行和關閉,可以簡化并發編程的操作。因此,

加上sleep只是為了放大錯誤,便于觀察。

有任何疑問歡迎留言或者加企鵝群(282034885)討論

那么如何避免臟讀呢?上篇文章(java并發編程學習之一段簡單代碼證明synchronized鎖的是對象)中提到過,synchronized鎖的是對象,這里就可以用上了。

在get方法上加上synchronized關鍵字即可,在set沒處理完之前,對對象加鎖,避免其他線程進行臟讀。

總結

以上是生活随笔為你收集整理的java中解决脏读_java并发编程学习之脏读代码示例及处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。