相同,可以让线程处于冻结状态。
不同:
1、wait()可以指定时间,也可以不指定时间。
sleep()必须指定时间。
2、wait()释放CPU资源,同时释放锁;
sleep()释放CPU资源,但不释放锁。
问:同步里面是不是只能有一条线程?
是的,但是如果同步里面出现wait()会出现多个情况,但是不用担心数据错误,是因为只有一个线程持有锁,执行完再把锁放回来,其他线程才有资格去执行。
相同,可以让线程处于冻结状态。
不同:
1、wait()可以指定时间,也可以不指定时间。
sleep()必须指定时间。
2、wait()释放CPU资源,同时释放锁;
sleep()释放CPU资源,但不释放锁。
问:同步里面是不是只能有一条线程?
是的,但是如果同步里面出现wait()会出现多个情况,但是不用担心数据错误,是因为只有一个线程持有锁,执行完再把锁放回来,其他线程才有资格去执行。
原文:https://www.cnblogs.com/olddriver123/p/8250827.html