2016-08-11 6 views
-1

Я хочу создать счетчик в новом потоке, который имеет способ получить значение счетчика во время работы потока. Как я могу сделать это легко?Java Inter Thread Communication

+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();   
    } 
}