У меня есть многопоточная программа на Java с множеством правил, касающихся потоковой передачи: Например, код в классе A должен вызываться только из потока пользовательского интерфейса; 3 метода в классе B должны вызываться только из сетевого потока и т. Д.
Есть ли предложения о том, как выполнять утверждения или другие проверки кода, соблюдаются ли эти правила? Я хотел бы сделать эквивалент тестирования «инвариантов», чтобы предотвратить ошибки кодирования при использовании потоков.