老师你好,我有个疑问就是,目前你举得例子中,都是用到了synchronized关键字,也就是都存在多个线程竞争同一把锁的情况,并且调用wait和notify的时候也都是在同步代码块里面,通过那把锁调用了wait和notify方法。比如:
synchronized(object){
...
object.wait();
...
}
synchronized(object){
...
object.notify();
...
}
我有一个疑问就是是否可以在没有竞争锁的情况下,我单纯的就想让一个线程进入wait,也就是我没有新建一个object作为锁,此时我该如何调用wait方法?可以直接写wait()这个方法么?然后我想在另外一个线程里面做完某件事后调用notify方法唤醒这个线程又该如何实现?就是有可能两个线程之间没有任何联系,我单纯的想线程一打印1-100,然后到五十的时候停下,此时线程二开始打印1-100,等线程二打印完后,线程一在接着打印,这样该如何实现?
不好意思,可能问题有点多,谢谢老师。