執行緒通訊的幾種方式

2021-09-27 07:51:29 字數 2209 閱讀 1655

public class maincatch (interruptedexception ex)}}

}}, "t1");

thread t2 = new thread(new runnable() catch (interruptedexception ex)}}

}}, "t2");

t1.start();

t2.start();

}}

public class reentranlocktest catch (interruptedexception ex)

}lock.unlock();

}}, "t1");

thread t2 = new thread(new runnable() catch (interruptedexception ex)

}lock.unlock();

}}, "t2");

t1.start();

t2.start();

}}

volatile 修飾記憶體可見性

public class volatile implements runnable 

system.out.println("執行緒結束");

} public static void main(string args) catch (interruptedexception e)

}}

public class jointest catch (interruptedexception ex)

}}, "thread1");

thread t2 = new thread(new runnable() catch (interruptedexception ex)

}}, "thread2");

t1.start();

t2.start();

trycatch (interruptedexception ex)

system.out.println("over");

}}

public class countdownlatchtest catch (exception ex)

}private static void countdownlatch() throws exception catch (exception e)

logger.info("thread end do something");

}}).start();

new thread(new runnable() catch (exception e)

logger.info("thread end do something");

}}).start();

new thread(new runnable() catch (exception e)

logger.info("thread end do something");

}}).start();

logger.info("main thread");

}

cyclicbarrier 中文名叫做屏障或者是柵欄,也可以用於執行緒間通訊。

和countdownlatch的區別是,

cyclicbarrier 用於參與者執行緒之間的互相等待,當所有參與者執行緒都執行到cyclicbarrier.await()的時候,再繼續往下執行

而countdownlatch是其他未參與執行緒,等待參與者都執行countdown方法後,再繼續往下執行。

public class stopthread implements runnable 

system.out.println(thread.currentthread().getname() + "退出。。");

}public static void main(string args) throws interruptedexception

}

可以採用中斷執行緒的方式來通訊,呼叫了 thread.interrupt() 方法其實就是將 thread 中的乙個標誌屬性置為了 true。

並不是說呼叫了該方法就可以中斷執行緒,如果不對這個標誌進行響應其實是沒有什麼作用(這裡對這個標誌進行了判斷)。

也可以用公共變數標誌位,來實現。

執行緒通訊的幾種方式

import j a.util.concurrent.locks.locksupport 三種執行緒協作通訊的方式 suspend resume wait notify park unpark public class demo6 system.out.println 2 買到包子,回家 consu...

java 執行緒間通訊的幾種方式

1.如何讓兩個執行緒依次執行 假設有兩個執行緒,乙個執行緒a,乙個執行緒b,兩個執行緒分別依次列印 1 3 三個數字即可。package test author administrator createdate 2017 10 10 public class demo1 thread thread2...

通訊的幾種方式介紹

寫此文的目的是為了更一步加深對現代網路通訊技術的認識,勉勵和提醒自己緊跟時代的技術潮流,從使用物件上來劃分通訊方式,我把它分為企業通訊和大眾通訊,首先介紹企業通訊的幾種方式 一 企業通訊 1 語音通訊 a 模擬中繼 使用者使用交換機管理分機,使用者交換機通過多根音訊電纜與局端裝置互聯,所有分機共享這...