C#多线程处理一张图片报异常,求助!!!!!!!!!!!!!!!!!!!

问题描述

用C#处理一张大图,太大了,开了几个线程分几块处理,同时把这个大图显示在pictureBox里,然后就异常了,知道是主线程的UI拿住了这张图,但是奇怪的是,我把Bitmap.Clone出来给每个线程一块专用,还是会报异常!(Clone看来不能完全分离两个对象,不知道是不是如此?)我尝试new一个新的Bitmap是可以的,但是这样内存很危险(已经接近托管堆的极限了),还是想用线程锁来锁定这张图,但是尝试了一下lock(m_Map),单独锁住每个线程自己的那一份克隆,不行!求高手指点异常内容:对象当前正在其他地方使用。如果在使用GetHdc方法后使用Graphics对象,请调用ReleaseHdc方法。这将释放上一次调用Graphics对象的GetHdc方法时所获得的上下文句柄。

解决方案

本帖最后由 chenchao 于 2014-08-07 10:44:15 编辑
解决方案二:
自己顶一下!
解决方案三:
大图处理用指针操作bitmapdata。paint.net源码里有个还不错的多线程机制。话说回来,多线程并不能提升处理速度。一般cpu几个核开几个线程就够了。多了反而会慢。最后,GDI+2.0已经提供了部分显卡计算功能,会用的话,速度提升几个数量级。

时间: 2024-09-20 14:37:58

C#多线程处理一张图片报异常,求助!!!!!!!!!!!!!!!!!!!的相关文章

rpm-proftpd+mysql 安装报异常求助

问题描述 proftpd+mysql 安装报异常求助 mysql 通过rpm安装 MySQL-client-5.5.37-1.linux2.6.x86_64.rpm MySQL-devel-5.5.46-1.linux2.6.x86_64.rpm MySQL-server-5.5.37-1.linux2.6.x86_64.rpm 安装proftpd时在make时包异常 配置为./configure --with-modules=mod_sql:mod_sql_mysql:mod_quotatab

exception-winform程序报错求助(判断查询结果是否为空)

问题描述 winform程序报错求助(判断查询结果是否为空) 小弟初学c#,写了一个数据查询的程序,分别用四个方法实现数据查询结果是否为空的判断,方法1和方法2都可以,但是方法三和方法四一直提示 " 对象的当前状态使该操作无效"异常,请各位大侠给指点下,问题出在哪? 备注:1.oradr.GetString(0)))字段本人用控制台测试是能正确输出相关数据库字段信息的: 2.看到网上说这个错误一般是,数据超过1000条的缘故,但是这个用户数据库里面只有一条数据,所以我也有点头晕,还请各

代码-初学springmvc 报错 求助

问题描述 初学springmvc 报错 求助 JSP页面表单信息: <form action="springmvc/testmodelattribute" method="post"> id:<input type="hidden" name="id" value="1"> <br> username: <input type="text" na

应用服务器-大牛们看一下,服务器为什么会报异常啊

问题描述 大牛们看一下,服务器为什么会报异常啊 [#|2015-09-14T19:42:38.868+0800|SEVERE|inforsuite9.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging.LogManagerService|_ThreadID=20;_ThreadName=Thread-2;|RO调用中,执行方法异常budget.control...IBudgetControlContext.getYs

process-Widget启动报异常。请求解决

问题描述 Widget启动报异常.请求解决 Unable to launch app or broadcast Intent process is bad act=android.appwidget.action.APPWIDGET_ENABLED 怎么回事啊!!! 开始还好好的,后来不晓得怎么了,装widget一直报这个错,不晓得抽什么风, 网上说神马卸掉重装,卸掉关机重启重装,统统都不行.... 解决方案 http://stackoverflow.com/questions/3253676/

tomcat启动的问题,报异常

问题描述 tomcat启动的问题,报异常 解决方案 和tomcat没关系.是你web.xml中的配置的servlet加载的时候报错了 解决方案二: 采用flex+struts+spring+hibernate框架,启动tomcat出现异常,寻求解决方法中..... 严重: StandardWrapper.Throwablejava.lang.NullPointerException?at flex.management.BaseControl.getObjectName(BaseControl.

myeclipse配置了weblogic,启动服务报异常

问题描述 myeclipse配置了weblogic,启动服务报异常 1C 解决方案 认证没有通过,估计是myeclipse配置weblogic,忘了设置 解决方案二: weblogic用户名密码不对~

使用osgi api启动osgi时,用java -jar命令运行报异常,用eclipse运行正常

问题描述 使用osgi api启动osgi时,用java -jar命令运行报异常,用eclipse运行正常 我使用osgi的api写了osgi框架的启动程序,然后使用java -jar 命令运行这个jar包报空指针异常,我在eclipse中运行一切正常,请问这是为什么呀

java-myeclipse10配置jrebel6因为改动电脑日期报异常

问题描述 myeclipse10配置jrebel6因为改动电脑日期报异常 运行环境:myeclipse10配置jrebel6 问题原因:在myeclise10的tomcat7的jdk下Optional java VM arguments配置上jrebel后加入,在电脑日期是今天2015.10.21下启动tomcat,能正常启动,但是假如电脑日期把今天改为2015.10.06启动tomcat就会抛出一个异常: if (!fromStart && !toEnd) { if (m.compare