⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changer.java

📁 此为java开发方面的算法
💻 JAVA
字号:
/****************************************************
 * 参考书籍:<<Java面向对象编程>>                   *
 * 技术支持网址:www.javathinker.org                *
 ***************************************************/
package mythread.problem;


public class Changer extends Thread{

  private String mycolour;

  public Changer(String mycolour){this.mycolour=mycolour;}
  public String getColour(){return mycolour;}
  public void setColour(String c){mycolour=c;}

  public void run(){
    doSomething();
  }

   public  void doSomething(){
    for(int a=0;a<50;a++)
    {
      try{
      Thread.sleep(100*((int)Math.random()));
      }catch(Exception e){}

      synchronized(this){
        Thread[] ts=new Thread[Thread.activeCount()];
        Thread.enumerate(ts);
        Changer currThread=(Changer)(Thread.currentThread());
        Changer anotherThread=null;
        for(int i=0;i<ts.length;i++)
        {
          if(ts[i]!=currThread && ts[i] instanceof Changer ){anotherThread=(Changer)ts[i];break;}
        }

        System.out.println(currThread.getName()+" currthread: "+currThread.getColour());
        System.out.println(currThread.getName()+" anotherthread: "+anotherThread.getColour());
        String tmp=currThread.getColour();
        currThread.setColour(anotherThread.getColour());
        anotherThread.setColour(tmp);
        System.out.println(currThread.getName()+" afterchanged: "+currThread.getColour());
      }
    }
  }

public static void main(String args[]){
  Changer  t1=new  Changer("white");
  Changer  t2=new  Changer("black");
  Changer  t3=new  Changer("green");
  t1.setName("t1");
  t2.setName("t2");
  t3.setName("t3");



  t1.start();
  t2.start();
  t3.start();


}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -