日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
JavaThread隊(duì)列詳細(xì)代碼的介紹

Java Thread隊(duì)列一直是我們需要掌握的代碼。下面我們就基本思想:建立了一個(gè)隊(duì)列,為每一個(gè)Java Thread隊(duì)列保存了一個(gè)對(duì)象鎖,保證按順序執(zhí)行。線程啟動(dòng)的時(shí)候,使隨機(jī)的,但是執(zhí)行代碼是按順序的。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、固安網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為固安等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

 
 
 
  1. import java.util.LinkedList;
  2. import java.util.Queue;
  3. public class ThreadTest {
  4. private static Queue qThread=new LinkedList();//線程同步對(duì)象隊(duì)列
  5. public static synchronized void putObject(Object t){
  6. qThread.offer(t);
  7. }
  8. public static synchronized Object getObject(){
  9. return qThread.poll();
  10. }
  11. public static void waitThread(Object t) throws InterruptedException{
  12. synchronized(t){
  13. t.wait();
  14. }
  15. }
  16. public static void notifyThread(){
  17. Object obj=ThreadTest.getObject();
  18. synchronized(obj){
  19. obj.notify();
  20. }
  21. }
  22. public static void main(String[] args) throws InterruptedException {
  23. int i = 0;
  24. boolean isFirst=true;
  25. while (i < 10) {
  26. Object obj=new Object();
  27. if(i>0){
  28. isFirst=false;
  29. ThreadTest.putObject(obj);
  30. }
  31. Thread t2 = new Thread2(isFirst,obj);
  32. Object obj2=new Object();
  33. ThreadTest.putObject(obj2);
  34. Thread t3 = new Thread3(obj2);
  35. t2.start();
  36. t3.start();
  37. i++;
  38. }
  39. }
  40. }
  41. /**
  42. * 線程2
  43. *
  44. * @author Harry.WANG
  45. *
  46. */
  47. class Thread2 extends Thread {
  48. private boolean isFirst=false;
  49. private Object obj;
  50. public Thread2(boolean f,Object obj){
  51. this.isFirst=f;
  52. this.obj=obj;
  53. }
  54. @Override
  55. public void run() {
  56. if(!this.isFirst){
  57. System.out.println(this.getName()+"等待...");
  58. try{
  59. ThreadTest.waitThread(obj);
  60. }catch(InterruptedException e){
  61. e.printStackTrace();
  62. }
  63. }
  64. System.out.println("啟動(dòng)"+this.getName()+"...");
  65. try {
  66. sleep(3000);//等待3秒,為了測(cè)試
  67. } catch (InterruptedException e) {
  68. e.printStackTrace();
  69. }
  70. System.out.println("停止"+this.getName()+"...");
  71. ThreadTest.notifyThread();
  72. }
  73. }
  74. class Thread3 extends Thread {
  75. private Object obj;
  76. public Thread3(Object obj){
  77. this.obj=obj;
  78. }
  79. @Override
  80. public void run() {
  81. System.out.println(this.getName()+"等待...");
  82. try{
  83. ThreadTest.waitThread(obj);
  84. }catch(InterruptedException e){
  85. e.printStackTrace();
  86. }
  87. System.out.println("啟動(dòng)"+this.getName()+"...");
  88. try {
  89. sleep(3000);//等待3秒,為了測(cè)試
  90. } catch (InterruptedException e) {
  91. e.printStackTrace();
  92. }
  93. System.out.println("停止"+this.getName()+"...");
  94. ThreadTest.notifyThread();
  95. }
  96. }

以上就是對(duì)Java Thread隊(duì)列的詳細(xì)介紹。希望大家有所幫助。


網(wǎng)站名稱:JavaThread隊(duì)列詳細(xì)代碼的介紹
分享URL:http://www.5511xx.com/article/dhiescs.html