Эмне үчүн Тапшырма иштелип чыкпаган өзгөчө кырдаалда менин процессим токтоп калбайт?

Мен Windows кызматын .NET 4.0 менен куруп жатам.

Менде ар кандай иштетилбегендер бар Тапшырмаларга киргизилген өзгөчө учурлар, бирок алар MSDN документациясында көрсөтүлгөндөй менин процессимди токтотушпайт ( Параллель Тапшырмалар - Байкалбаган Тапшырманын Өзгөчөлүктөрүн караңыз).

"Эгерде сиз күнөөлүү тапшырманы жайылтууга мүмкүнчүлүк бербесеңиз анын өзгөчө учурлар (мисалы, Wait ыкмасын чакыруу менен), иштөө убактысы болот Учурга ылайык, тапшырманын байкалбаган өзгөчөлүктөрүн күчөтүү Тапшырма таштандыга чогултулганда .NET өзгөчө саясат. "

Мен тапшырманын эң жөнөкөй чакыруусун колдонгондо дагы, мындай иштейт:

Task.Factory.StartNew(() => { throw new Exception(); } 

Кызмат ушундай чакырылганда жакшы иштей берет.

Документтерге тапшырманы GC'd болгондон кийин, Тапшырманын финалдаштыруучусу өзгөчө кырдаалды кайра калыбына келтирет, бирок андай болбой жатат окшойт. MSDN "" .NET өзгөчө саясат "кадыресе процесстин токтотулушуна алып келээрин кайталайт.

Эмне үчүн андай эмес ' t Менин колдонмомду токтотот? Менин оюмча, кандайдыр бир жерде кандайдыр бир жерде болгон тапшырмага шилтеме бар (бул лямбдабы?)

15
задан svick 24 June 2012 в 23:03
поделиться