Есть несколько ThreadHelper.BackgroundWorker. Вызываю друг за другом их методы bwLoaderX.RunWorkerAsync(). У каждого в обработчике OnDoWork первой строкой после try стоит
System.Threading.Thread.CurrentThread.Name = "LoaderX"
периодически пара воркеров валится с криком
System.InvalidOperationException: This property has already been set and cannot be modified.
at System.Threading.Thread.set_Name(String value)
at myProject.Form1.bwLoaderX_DoWork(Object sender, DoWorkEventArgs doWorkArgs) in d:\...\form1.cs:line ....
в чем могут быть грабли? может lock чему-нить надо делать?
08.03.05 14:54: Перенесено модератором из '.NET GUI' — AndrewVK
В MSDN есть
пример, обратите внимание на комментарий:
using System;
using System.Threading;
class Name
{
static void Main()
{
// Check whether the thread has previously been named
// to avoid a possible InvalidOperationException.
if(Thread.CurrentThread.Name == null)
{
Thread.CurrentThread.Name = "MainThread";
}
else
{
Console.WriteLine("Unable to name a previously " +
"named thread.");
}
}
}
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение