-->
当前位置:首页 > 题库 > 正文内容

程序填空题:利用线程同步机制执行正确的计数

Luz4年前 (2021-11-16)题库2556
当用多个线程处理共享变量时,线程中对共享变量的处理代码应用同步机制进行保护,才能保证处理的正确性。
java
import java.util.*;
class BackCounter implements Runnable{
private int count=100; //线程共享变量,对它的处理必须用同步机制进行保护
public int getCount() { return count; }//返回变量值
//线程体
public void run() {
for(int i=10;i>0;i--) { //变量值递减 10
{ //以下代码在处理共享变量,需要同步机制保护
if( count<=0 ) break;
count--;
}
try { Thread.sleep(10); } catch ( InterruptedException e ) { }//模拟延时 10 毫秒
}
}//线程体结束
}
public class Main {
public static void main(String[] args) throws InterruptedException {//某些线程方法会抛出检查型异常
ArrayList<Thread> lt=new ArrayList<Thread>();
BackCounter bc=new BackCounter();//创建实现类对象
lt.add(new Thread(bc));//创建线程对象
lt.add(new Thread(bc));
for (Thread th:lt) ; //启动线程
for (Thread th:lt) ; //等待线程结束
System.out.println(bc.getCount());
}
}







答案:
第1空:synchronized(this)

第2空:th.start()

第3空:th.join()

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。