如题,这个问题本人已经纠结了快三个工作日了。本人不同WinFrom程序一起动就会开启10个线程,并发对10张图片进行算法处理,问题是只要程序一起动就会报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”异常。
本人试过将8个线程停掉,只开两个,发现没有问题,开三个四个偶尔会出问题….反正10个一个开是一定会报异常的。开起来好像是线程开太多CPU反应不过来导致的问题,可是CPU反应不过来就会报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”异常吗?本人在网上查了查这种多线程并发报异常的问题很可能是线程与线程间有共享资源导致的问题,本人倒觉得没有共享什么资源啊,各位高手帮本人看看本人的线程处理函数里面存在共享资源吗?
线程1的线程处理函数:
private void AlgorithmHandlerThreadMethod1()
{
Bitmap test1 = new Bitmap("E:\和路雪\和路雪 2014-7-09\TestControl\蛋筒\1.jpg");
ProjectCalculation testHalcon = new ProjectCalculation();
ConesInspectionHalcon01 ParameterIn = new ConesInspectionHalcon01();
ConesInspectionHalcon01 ParameterOut = new ConesInspectionHalcon01();
ParameterIn.AreaAddSet = 50000;
ParameterIn.MaxAreaSet = 350;
ParameterIn.MaxEdgeSet = 150;
ParameterIn.AreaCutSet = 40000;
while (true)
{
if (threadFlag)
{
long start = DateTime.Now.Ticks;
ProjectCalculation.ConesInspectionHalcon01(test1, ParameterIn, out ParameterOut);
Thread.Sleep(1000);
}
}
}
线