Въпросът ми е дали е възможно в Java да разбера дали 1 thread ще чака за заключване (lock) и да се дръпне (pullout) веднага, в случая дали ще чака за lock-ване?
Пример:
public void f() {
synchronized(this) {
//long tasks
}
}
Ако Thread-A все е в синхронизиран блок (synchronized block), Thread-B влиза, lock-а не е на разположение веднага,затова решава да се pull out-не (или чака Х секунди и след това се дърпа) и да пробва наново.
Предполагам не е възможно с примитивно lock-ване със синхронизиран блок, но искам да питам за идеи за това ако 1 thread не иска да влиза в чакащ режим (WAIT state) или дали е възможно насила да pull out-нем thread от неговия WAIT режим.
В смисъл, възможно ли е да напишем нещо в Thread-B или Thread-A в този случай?