多线程中给一对象加了锁
我想让线程总是安装先来后到的顺序来取得对象 不知道怎么实现?
例如线程1、2、3 依次来访问资源A
1先来所以锁住了A
此后2、3依次到来等待释放资源
等1释放资源后,想要实现安照先来后到的顺序执行,即2先于3取得资源。
------解决方案--------------------
1 用ReentrantLock公平模式就可以
2 又或者,自己构造调用顺序,前一个完了发现有等待的通知下一个
2方法的优势是可以在线程开始前定义好执行顺序
1方法则不行,隐患就是,线程开始后,你很难在同步点之前控制自己想要的顺序,不过满足你说的要求