下文笔者讲述使用java代码进行多线程累计求和的方法分享,如下所示:
实现思路: 创建一个类,定义一个公共变量,并且每一个线程都可以访问 所有线程都可以对coun递增,直到1000例:
public class Test { //公共变量 int count=0; public static void main(String[] args){ //new一个实现Runnable的类 Test test=new Test(); //创建3个任务 MyRunnable myRunnable1=test.new MyRunnable(); MyRunnable myRunnable2=test.new MyRunnable(); MyRunnable myRunnable3=test.new MyRunnable(); //创建3个线程 new Thread(myRunnable1).start(); new Thread(myRunnable2).start(); new Thread(myRunnable3).start(); } //创建一个实现Runnable的类 class MyRunnable implements Runnable{ public void run() { while(true){ //锁住的是整个MyRunnable类 synchronized(MyRunnable.class){ if(count>=1000){ break; } System.out.println(Thread.currentThread().getName()+":count:"+(++count)); //测试时,线程更容易切换 Thread.yield(); } } } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。