Можно ли использовать WaitHandle.WaitOne с флагом ExitContext без класса ContextBoundObject?

Каждый написанный вами код должен быть эффективным. Для начинающего, как и вы, самый простой способ - проверить делимость числа «n» от 2 до (n-1). Это занимает много времени, когда вы считаете очень большие цифры. Метод с квадратным корнем помогает быстрее сделать код за счет меньшего количества сравнений. Читайте о сложностях в разработке и анализе алгоритмов.

1
задан MandoMando 21 June 2010 в 15:11
поделиться

1 ответ

Подсказка в этом предложении.

Даже если вы сейчас выполняете метод класса, который не является производным из ContextBoundObject, например String, вы можете быть в контексте не по умолчанию, если объект ContextBoundObject находится в вашем стеке в текущем домене приложения.

Таким образом, вы могли бы вызвать WaitOne из класса, который не является подклассом ContextBoundObject , и при этом у вас не было бы предвзятого мнения о том, что ContextBoundObject каким-либо образом вовлечены в ваш код, и тем не менее, рассматриваемый поток может находиться в контексте, отличном от контекста по умолчанию, потому что где-то далеко вверху в стеке вызовов метод экземпляра класса ContextBoundObject может работать без вашего ведома.

Помимо этого единственного исключения нет других способов войти в контекст синхронизации, отличный от заданного по умолчанию.

Есть довольно хорошая статья о многопоточности с дополнительной информацией, относящейся к контекстам синхронизации, которую можно найти здесь .

2
ответ дан 2 September 2019 в 23:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: