question list

1. #define WIDTHBYTES(bits) ((((bits)+31)/32)*4)  //why for raster line width(NOv 11,2011)

remain task list:

1)8bit chroma data importing cased the 16bit visual form appeared. (Nov 17,2011)



November 22,2011 

这个异常抛出的本质原因,内核对象引用计数为零时,继续递减不存在的对象。

(在进程中试图终止线程的方法中,导致了CloseHandle()紧密地执行两次,一次是进程中的,一次是线程中的,线程栈中保存的局部用于判断的变量因父进程的关闭端口,已变得无效了,从而抛出异常;)

有三类解决办法:
1)放大两次Close()执行间隔,使线程有较多的时间走完自己的生命周期,从而使它不会去关闭别人已关闭的端口对象。
2)在进程中首先执行Close(),然后,其子线程中的Close.可保证不会去关闭看似正确的对象句柄。
3)确保在有效时间范围内只有一次Close被执行。


从设计的角度上讲,试图终止线程的进程方法中,只进行线程终止操作,不另外关闭端口对象。

这是代码编写上的错误,也是软件架构的错误。

进程与其子线程共用了同一个关闭方法。导致在线程被打断时继续执行,试图关闭已被进程关闭的端口中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值