/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // Examples taken from the infer website. public class Starvation { String lockA, lockB; public void lockAThenB() { synchronized(lockA) { synchronized(lockB) { // do something with both resources } } } public void lockBThenA() { synchronized(lockB) { synchronized(lockA) { // do something with both resources } } } }