标签:图书馆 仓库 休眠 4.4 cpu 程序代码 sleep 等于 停止
public BallRunnable(Ball aBall, Component aComponent)
和public void run()
,使用Thread.sleep会让线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/等于该休眠时间;在线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”,从而等待cpu的调度执行。move()
(将一个Ball实例添加进名为Balls的ArrayList)和getShape()
(遍历Balls,将每个ball绘制在画面上)。并回答:a)通过定义Runnable接口的实现类来实现多线程程序比通过继承自Thread类实现多线程程序有何好处?b) 6-1,6-3,6-11实验总结。
完成题集6-4(互斥访问)与6-5(同步访问)
使用wait()、notify()来实现线程之间的协同工作。同步访问一般都要放到synchronized方法或者代码块中是为了避免出现多个线程访问同一个代码块时会导致的运行结果出错的情况。
public synchronized void add(String t){
while(repo.size()>=capacity){
System.out.println("仓库已满")
try{
wait();
} catch(InterruptedExprction e){
e.printStackTrace();
}
}
repo.add(t);
System.out.println("库存:"+repo.size());
notify();
} //201621123041 林裕恒
public synchronized void remove(){
while(repo.size()<=0){
System.out.println("仓库无货");
try{
wait();
} catch(InterruptedExprction e){
e.printStackTrace();
}
}
repo.remove(0);
System.out.println("库存:"+repo.size());
notify();
}
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
5 | 221 | 221 | 4 | 4 |
6 | 487 | 226 | 10 | 6 |
7 | 837 | 350 | 14 | 4 |
8 | 1057 | 220 | 17 | 3 |
9 | 1289 | 232 | 21 | 4 |
10 | 1654 | 365 | 26 | 5 |
11 | 1989 | 335 | 32 | 6 |
12 | 2291 | 302 | 39 | 7 |
标签:图书馆 仓库 休眠 4.4 cpu 程序代码 sleep 等于 停止
原文地址:http://www.cnblogs.com/l873253814/p/7953743.html