编写程序实现如下功能:一个线程进行如下运算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 arg