多线程问题请教:sleep中的线程可以被提前“唤醒”吗?
求教各位达人,假设有这样一个场景:
线程A在start之后去查询某个条件,发现条件不满足,于是sleep 10秒,意图是10秒之后再去查询一次这个条件,如果还不满足,则执行某种操作,否则执行另一种操作。
另外有一个线程B,它可能去操作某些数据,使线程A查询的条件由不满足变为满足。
我想问的是,如果A已经进入sleep了,但是还没到10秒,例如才只有2秒的时候,线程B修改了条件,使A的查询条件满足,那么能否通过某种方式让A立即醒过来而不必傻等10秒结束再醒?
notify方法能否让A提前醒过来?