程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java線程通信源代碼中的奧秘探究

Java線程通信源代碼中的奧秘探究

編輯:關於JAVA

 Java線程通信在使用的時候需要我們不斷學習,在學習的時候會有很多的問題存在。其實我們在源代碼中就能發現其中的奧秘。因為ThreadNum和ThreadChar都有對Objecto的引用,所以你wait和notify的時候都應該同步,Java線程通信具體看如下:

  1.public class Test8 {

  2.public static void main(String[] args){

  3.Object o=new Object();

  4.Thread n=new ThreadNum(o);

  5.Thread c=new ThreadChar(o);

  6.n.start();

  7.c.start();

  8.}

  9.}

  10.class ThreadNum extends Thread{

  11.Object o;

  12.public ThreadNum(Object o){

  13.this.o=o;

  14.}

  15.public void run(){

  16.for(int i=1;i<26;i++){

  17.System.out.println(i);

  18.System.out.println(++i);

  19.try {

  20.synchronized (this) {

  21.this.wait();

  22.}

  23.} catch (InterruptedException e) {}

  24.synchronized (this) {

  25.

  26.this.notify();

  27.}

  28.}

  29.}

  30.}

  31.class ThreadChar extends Thread{

  32.Object o;

  33.public ThreadChar(Object o){

  34.this.o=o;

  35.}

  36.public void run(){

  37.for(char a='A';a<='Z';a++){

  38.System.out.println(a);

  39.synchronized (this) {

  40.

  41.this.notify();

  42.}

  43.try {

  44.synchronized (this) {

  45.this.wait();

  46.}

  47.} catch (InterruptedException e) {}

  48.}

  49.}

  50.}

  以上就是對Java線程通信的詳細介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved