Вот минимальный код (форма с кнопкой):
private void button1_Click(object sender, System.EventArgs e)
{
int numberOfThreads = 10;
TT[] thrs = new TT[numberOfThreads];
ManualResetEvent[] events =
new ManualResetEvent[numberOfThreads];
for(int i = 0; i < numberOfThreads; i++)
{
thrs[i] = new TT();
events[i] = thrs[i].event__;
thrs[i].Start();
}
WaitHandle.WaitAll(events, new TimeSpan(0, 0, 5), false); // Вот здесь вылетает такая ошибка:
// An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
// Additional information: WaitAll for multiple handles on an STA thread is not supported.
}
}
public class TT
{
public ManualResetEvent event__ = new ManualResetEvent(false);
public void Start()
{
new Thread(new ThreadStart(this.ThreadFunc)).Start();
}
public void ThreadFunc()
{
this.event__.Set();
}
}
В проекте я использую Syncfusion-овский компонент MainFrameBarManager. Если его убрать, то все срабатывает на ура. Может быть кто-нибудь сталкивался с подобным, бьюсь уже второй день
. Help. Заранее спасибо