首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

.NET 能建立多少个线程?为什么小弟我建立100个就出错了

2012-03-17 
.NET 能建立多少个线程?为什么我建立100个就出错了。C# code我建立的程序是MDI程序,以下代码是在MDI子窗口

.NET 能建立多少个线程?为什么我建立100个就出错了。

C# code
我建立的程序是MDI程序,以下代码是在MDI子窗口执行的。为什么程序自动消息掉?什么出错了?                threads = new Thread[100];                for (int i = 0; i < threads.Length; i++)                {                    threads[i] = new Thread(ThreadProc);                    threads[i].Start(this);                }                Thread t = new Thread(ThreadProc);                t.Start();        void Do()        {A.Text="aaaa";        }        void ThreadProc(Object sender)        {            (sender as FormRefres).Do();        }


[解决办法]
你直接在 ThreadProc方法写一个输出吧 离真理不远了
[解决办法]
问题出在A.Text="aaaa";
由于文本框对象A是在主线程创建的,其他线程必须invoke创建者线程(主线程),请求主线程改写控件状态。
CheckForIllegalCrossThreadCalls =false;
这是.net早期版本的解决方案,不检测非法的跨线程调用,可以提高速度但存在一定的风险。
在后期版本中不建议使用该方案,而是使用invoke。
if(A.InvokeRequired)
{
...
}


热点排行