//works public void updateTruck(int truckId, string status) { if (System.Threading.Monitor.TryEnter(obj2, 45000)) { try { truckCtr.updateTruck(truckId, status); } finally { System.Threading.Monitor.Exit(obj2); } } }