Почему 3 потока для основного сингла распараллелили c# консольное приложение?

3 ответа

Если вы запускаете приложение .NET, я полагаю, что вы всегда получаете поток (в основном спящий) для JIT (Just-in-Time compiler), а также поток GC (Сборка мусора), в дополнение к вашему основному потоку.

37
ответ дан 30 November 2019 в 02:48
поделиться

Существует способ переместить уведомитель SystemEvents в ваш поток:

public static class ThreadingHelper_NativeMethods
{
   [DllImport("user32.dll")]
   public static extern bool IsGUIThread(bool bConvert);
}


     // This code forces initialization of .NET BroadcastEventWindow to the UI thread.
     // http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/fb267827-1765-4bd9-ae2f-0abbd5a2ae22
     if (ThreadingHelper_NativeMethods.IsGUIThread(false))
     {
        Microsoft.Win32.SystemEvents.InvokeOnEventsThread(new MethodInvoker(delegate()
        {
           int x = 0;
        }));
     }
3
ответ дан 30 November 2019 в 02:48
поделиться

Не забудьте эту ветку финализатора!

1
ответ дан 30 November 2019 в 02:48
поделиться
Другие вопросы по тегам:

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