【发布时间】:2011-07-21 10:24:52
【问题描述】:
我犯了那个错误..我使用循环来遍历要绘制的一堆图像..我还使用多线程..
什么可能导致该问题以及如何预防?
我使用winforms
附加信息:
它告诉我如果我在 GetHDv 方法之后使用图形,调用 ReleaseHDC 方法..
什么意思?
部分代码:
这样创建的线程:
在我这样做之前: BackgroundWorker1.RunWorkerAsync();
现在我正在测试这个:
Backgroundworker back=new backgroundworker(); back.runworkerAsync();
这是异常的根源吗?
【问题讨论】:
-
一般来说,UI 对象只能在创建它们的线程上使用。这可能是问题所在,但是如果没有看到任何代码就很难判断。一个简短但完整的程序来演示这个问题真的很有帮助。
-
你能发布一个堆栈跟踪吗? (您的异常应该包含一个)但是如果您要求猜测:您同时在多个线程中使用非线程安全资源...可能的解决方案:删除并发访问情况
-
嗯。我使用了一个添加到 winform 的后台工作程序。除此之外,我还没有添加到 winform 的另一个线程