stathread



Автор Alex задал вопрос в разделе Другие языки и технологии

В C# встречается некая директива [STAThread]
что она обозначает?
Желалельно не в 1-2 слова.... и получил лучший ответ

Ответ от Modern Иванов[гуру]
STA-single-threaded apartment
Microsoft говорит, что данный аттрибут ф-ция Main() должна иметь во всех windows-приложениях. Это означает, что все потоки в этой программе выполняются в рамках одного процесса, а управление программой осуществляется одним главным потоком. Эту нужно, чтоб не было проблем, если приложение подключает компоненты. Разработчики компонентов могут дать своему компоненту много прав. Вы подключили компонент, он запускает какое то модальное действие и ваша прога зависает. При STA всеми потоками руководит поток, запущеный с Main().

Ответ от Александра Павлюк[активный]
атрибут [STAThread]- существует для того, чтобы особым образом пометить класс или его член для внешнего кода.
STA = Single Thread Apartment. То есть однопоточное приложение. По умолчанию именно так. Для многопоточности используется MTA = Multi Thread Apartment.(Single Thread Apartment) задает однопоточную модель выполнения.

Ответ от Stanislav[гуру]
Это необходимо для работы с COM
Если в Вашем приложении не используется COM, то это не имеет значения.
Многие стандартные контролы в действительности обертки над COM

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: В C# встречается некая директива [STAThread]
что она обозначает?
Желалельно не в 1-2 слова....
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*