自己本身对多线程不是很了解,前段时间做项目,图像识别模块需要用得到多线程,将识别的结果显示在列表中
Thread th = new Thread(new ThreadStart(GetImgString));
Control.CheckForIllegalCrossThreadCalls = false;
th.Start();
GetImgString() 方法中包含了识别过程以及数据处理,最后将数据绑定到datagridview
最开始 我直接给dataSource赋值 但是每当执行到第三次的时候就会报一个空指针的异常
从网上查阅后,然后将绑定方法改成了下面的代码:
dataGridView1.Invoke(new MethodInvoker(delegate() { dataGridView1.DataSource = list; }));
然后异常就没有了 虽然还不是很理解这是什么原因,但还是先记录下来,方便以后遇到同样问题,方便查阅。