У меня есть класс, который управляет процессом. При вызове Stop()
или Dispose()
для этого класса, он сначала отправит TCP-команду процессу, чтобы попросить его закрыть себя, затем вернется через 1 секунду, если он не близок, вызовите CloseMainWindow()
, затем подождите еще один секунд, если он все еще работает, позвоните Kill()
.
Теперь у меня есть List<>
этого класса для управления кучей процессов. Когда я хотел бы удалить их из списка, я бы вручную вызвал Dispose()
, затем Remove()
. Я хочу убедиться, что я позвонил Dispose()
, прежде чем потерять единственную ссылку. Поскольку для вызова Dispose()
потребуется не менее 2 секунд, чтобы вернуться, потребуется некоторое время, если я скажу, что 5 пунктов должны быть удалены.
Итак, я намеревался создать еще одну функцию с именем SafeDispose()
, которую затем можно вернуть Invoke()
Dispose()
. Теперь удаление их из списка и вызов SafeDispose()
вместо Dispose()
будут незамедлительными, в то время как сами классы медленно избавляются от них.
Желательно ли это сделать?