У меня длинная рабочая нить из Thread.Start(). Он генерирует фоновый поток, используя QueueUserWorkItem, который большую часть времени спит.Как прекратить поток, который породил другой поток, который спит?
Тогда владелец класса будет удален, я вызываю thread1.Join(), но, естественно, он не возвращается, потому что его дочерний фоновый поток спал.
Что было бы правильным решением для изящного завершения потока, который имеет другие потоки с небольшим количеством хлопот?
После того, как я написал вопрос, я вдруг понял, что, возможно, у меня был ментальный блок, когда я сделал эту часть.
На первом месте нить не хотела прекращаться не из-за фоновой нити. Но по другой причине.
Во-вторых - мне пришлось использовать таймер вместо этого, потому что я держал нить без причины - только ждать события, которое происходит один раз в день!
Это было очень глупо со мной :) Извините.
Фоновая нить не спит большую часть времени. –
@Bobb, в этом случае вы по-прежнему используете поток потока потока в течение длительного времени, даже если он только спит. этого следует избегать. –
есть. см. мой «ответ» ниже. Я получил это немного позже :) –