Java线程间通信
我想在一个新线程中创建一个计数器,该线程有一个在线程运行时获取计数器值的方法。如何以简单的方式完成此操作?请检查以下内容:Java线程间通信,java,multithreading,concurrency,java.util.concurrent,Java,Multithreading,Concurrency,Java.util.concurrent,我想在一个新线程中创建一个计数器,该线程有一个在线程运行时获取计数器值的方法。如何以简单的方式完成此操作?请检查以下内容: public class ThreadsExample implements Runnable { static AtomicInteger counter = new AtomicInteger(1); // a global counter public ThreadsExample() { } static void inc
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();
}
}
公共类ThreadsExample实现可运行{
静态AtomicInteger计数器=新的AtomicInteger(1);//全局计数器
公共线程示例(){
}
静态无效增量计数器(){
System.out.println(Thread.currentThread().getName()+“:“+counter.getAndIncrement());
}
@凌驾
公开募捐{
while(counter.get()<1000){
递增计数器();
}
}
公共静态void main(字符串[]args){
ThreadsExample te=新的ThreadsExample();
螺纹1=新螺纹(te);
螺纹2=新螺纹(te);
thread1.start();
thread2.start();
}
}
检查此项。示例本身:如果它只是一个计数器,则可以使用AtomicInteger
类型。