Спасибо за помощь и поддержку, я столкнулся с проблемой, когда у меня есть два потока, один из которых является потоком таймера, а другой - каким-то потоком чтения файлов.Теперь моя основная программа вызывает оба потока.Поток таймера прерывает основную программу по таймауту, а поток чтения файлов вызывает основной поток, если есть некоторые ошибки ввода-вывода.Итак, теперь проблема вступает в силу, основная программа должна знать, кто сработал прерывание, чтобы напечатать, скажем, некоторое состояние прерывания.Итак, как мне достичь этого?Ниже приведены некоторые вещи, которые я не хочу использовать.
- Флаг, который используется для установки времени ожидания, и другой флаг для ошибки ввода-вывода (потому что моя основная программа огромна и состоит из нескольких частей, и я не могу этого сделатьпроверять везде)
- Каждый поток имеет переменную-член, установленную с кодом состояния, и основную программу, считывающую это при прерывании. (Я согласен с этим, но мне все еще нужно поддерживать объекты потоков, чтобы получить статус,и у меня много нитей File Reader, поэтому мне приходится перебирать каждый поток, чтобы найти прерванный).
Буду признателен за вашу помощь в этом, даже какой-то другой способ, кроме прерываний, тоже подойдет.