2016-08-11 65 views
-1

我想在新線程中創建一個計數器,該線程有一個方法來在線程運行時獲取計數器的值。我怎樣才能以簡單的方式做到這一點?Java Inter Thread通信

+0

http://www.tutorialspoint.com/java/java_thread_communication.htm進行檢查。示例本身從這裏:http://stackoverflow.com/questions/2170520/inter-thread-communication-in-java – sixtytrees

+0

如果它只是一個計數器,你可以使用'AtomicInteger'類型。 – Leon

回答

2

檢查:

public class ThreadsExample implements Runnable { 
    static AtomicInteger counter = new AtomicInteger(1); // a global counter 

    public ThreadsExample() { 
    } 

    static void incrementCounter() { 
      System.out.println(Thread.currentThread().getName() + ": " + counter.getAndIncrement()); 
    } 

    @Override 
    public void run() { 
      while(counter.get() < 1000){ 
       incrementCounter(); 
      } 
    } 

    public static void main(String[] args) { 
      ThreadsExample te = new ThreadsExample(); 
      Thread thread1 = new Thread(te); 
      Thread thread2 = new Thread(te); 

      thread1.start(); 
      thread2.start();   
    } 
}