java同步塊
四個人吃飯 只有一個勺子 4個人中只有一個人能吃飯,並且這個人必須是有勺子的人,而這個勺子就相當於同步快中的監視點!
同步塊的結構如下:
synchronized(someobject)
{
程式碼塊
}
程式碼示例:
package demo.example.com;
public class Threadtest3 {
public static void main(String[] args) {
Computer4 t=new Computer4();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}
class Computer4 extends Thread{
char ch;
int i=10;
Object obj=new Object(); //使用同步塊一定要先例項化一個Object物件作為同步塊的監視點!
void print(){
System.out.println(Thread.currentThread().getName()+":"+i);
i--;
}
public void run(){
while(i>0){
synchronized (obj) {
print();
} //同步程式碼塊
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
或者使用同步程式碼塊方法:
相關文章
- Java同步塊(synchronized block)使用詳解JavasynchronizedBloC
- 同步方法及同步塊
- 【Java】【多執行緒】同步方法和同步程式碼塊、死鎖Java執行緒
- [轉]關於java中的 sychronized 同步方法 與 同步塊的理解JavaZed
- java學習回顧---執行緒和同步程式碼塊Java執行緒
- java同步與非同步Java非同步
- Concurrency(六: 同步程式碼塊)
- JVM上的併發和Java記憶體模型之同步塊筆記JVMJava記憶體模型筆記
- Java同步方法Java
- 【原創】Java多執行緒初學者指南(12):使用Synchronized塊同步變數Java執行緒synchronized變數
- 146.synchronized同步方法與塊synchronized
- java 同步鎖(synchronized)Javasynchronized
- java 程式碼塊Java
- 【Java遊戲】java俄羅斯方塊!Java遊戲
- Java 非同步 I/OJava非同步
- java同步非阻塞IOJava
- Java—執行緒同步Java執行緒
- 轉:Java同步技術Java
- 牛客網Java刷題知識點之同步方法和同步程式碼塊的區別(用synchronized關鍵字修飾)...Javasynchronized
- notion的文字嵌入與同步塊設計概念
- java使用程式塊(轉)Java
- Java程式碼塊與Java繼承Java繼承
- java中的程式碼塊(初始化塊)Java
- java 多執行緒 –同步Java執行緒
- Java實現非同步呼叫Java非同步
- Java Collection或Map的同步Java
- java 多執行緒 --同步Java執行緒
- 轉:Java同步技術 (一)Java
- Java 同步機制淺談Java
- 5G/NR SSB(同步訊號和PBCH塊)
- Java 中的程式碼塊Java
- Java 15 新特性:文字塊Java
- Java靜態程式碼塊Java
- Java中的程式碼塊Java
- 死磕 java同步系列之JMM(Java Memory Model)Java
- 如何在Java中使用同步 -ManushaJava
- Java中的執行緒同步Java執行緒
- Java同步容器和併發容器Java