标签:执行 一个 java sync 开始 速度 one extend 延缓
模拟一个售票系统,或者银行取钱。
class 银行{
synchronized getmoney(){
//这里要sleep,为了延缓速度。
}
}
class 顾客 extends Thread{
取钱(){
循环100次{
getmoney()
//有趣的是,这里也需要休眠。
}
}
}
class test{
main(){
顾客1.start()
顾客2.start()
}
}
这样的题目,以前只在取钱的时候,有sleep的需要,没想到写的时候才发现。循环的地方也要休眠。
否则就会出现,顾客1 完成后,顾客2才开始的情况。
感觉,循环会一次性把100次取钱的任务都发出去,尽管每次取钱都比较慢(要sleep一下),但是任务分发却很快。
并不是取钱后,回到循环处,再去随机决定顾客N执行。
标签:执行 一个 java sync 开始 速度 one extend 延缓
原文地址:https://www.cnblogs.com/javandroid/p/8989741.html