2016-08-11 71 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();   
    } 
}