JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
生活随笔
收集整理的這篇文章主要介紹了
JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
編寫程序實現如下功能:一個線程進行如下運算12+23+34+……+1920,而另一個線程則每隔一段時間讀取前一個線程的運算結果。
class Count{private int sum;Count(int sum){this.sum=sum;}void add(int i){sum+=i*(i+1);}int getsum(){return sum;} }class CountThread implements Runnable{private Count mycount;public CountThread(Count c) {this.mycount=c;}public void run() {int mySum = mycount.getsum();int i;for(i=1; i<=19 ;i++) {synchronized (this) { //設置同步,代碼塊同步//System.out.println(Thread.currentThread().getName()+"當前值為:"+mySum);try{mycount.add(i);Thread.sleep(2); //花費時間}catch(InterruptedException e){System.out.println(e);}System.out.println(Thread.currentThread().getName()+"進行第"+i+"次操作后總值為:"+mycount.getsum());}}}}public class CountThreadDemo {public static void main(String args[]) {Count c = new Count(0);CountThread CT = new CountThread(c);Thread t1 = new Thread(CT,"線程A");Thread t2 = new Thread(CT,"線程B");t1.start();t2.start();}}總結
以上是生活随笔為你收集整理的JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java optional用法_2019
- 下一篇: angularjs 元素重复指定次数_l