多线程 wait() notify的用法(必要条件)
1>当前线程不含有当前对象的锁资源的时候,调用obj.wait()方法;
2>当前线程不含有当前对象的锁资源的时候,调用obj.notify()方法。
3>当前线程不含有当前对象的锁资源的时候,调用obj.notifyAll()方法。
要记住这三条原理哦,要不会出现错误的。
多个线程之间使用同一个的资源,这个资源就叫做共享资源或者是临界资源。
线程在用的时候,要给它加上所的。
?
这样的话才可以使用的。
而且,wait和notify 要和 synchronized这个关键词连在一起使用的,要不就会报错误的
?
?
还有一个lock 和 condition。
condition的话是指定某个condition唤醒或者是进入wait状态
?
lock 和 unlock之间是锁定对象,如果多线程的锁资源没有在这个里面那么会抛出一些状态错误的。
?
其实啊,不会用lock和unlock很很土的