FreeLibrary造成死锁的问题探讨
2011-08-04 09:49
351 查看
今天自己在写一测试程序时,显示调用一个DLL时,使用LoadLibrary函数,然后使用FreeLibrary函数进行释放时,出现了程序卡死的情况,网上这方面讲解比较少,且认为这造成了死锁,具体原因确实也弄不清楚~~不知道是测试程序的问题还是DLL的问题,后来索性自己写个DLL,然后这自己写的DLL进行LoadLibrary和FreeLibrary处理,发现并没有出现卡死的情况,难道原来是DLL本身的问题~~具体DLL的问题我也无法弄清楚。
而我现在要写一个DLL,需要调用原来的DLL的一些函数,开始的时候,我是在要实现的函数中进行LoadLibrary和FreeLibrary(这样写个人感觉其实并不好),发现出现了上面这个问题,总是找不到原因,后来想到原来写过一个类似的动态链接库,是在Dllmain中进行LoadLibrary和FreeLibrary的,我也就照葫芦画瓢,同样这么使用,发现这样做却OK了,自己也不清楚其中的原因,在MSDN上说,在Dllmain中使用LoadLibrary和FreeLibrary是不安全的,但是也顾不了那么多了~~
具体原因依然没弄明白,先记在这里,以免后来的朋友遇到同样的问题~~
而我现在要写一个DLL,需要调用原来的DLL的一些函数,开始的时候,我是在要实现的函数中进行LoadLibrary和FreeLibrary(这样写个人感觉其实并不好),发现出现了上面这个问题,总是找不到原因,后来想到原来写过一个类似的动态链接库,是在Dllmain中进行LoadLibrary和FreeLibrary的,我也就照葫芦画瓢,同样这么使用,发现这样做却OK了,自己也不清楚其中的原因,在MSDN上说,在Dllmain中使用LoadLibrary和FreeLibrary是不安全的,但是也顾不了那么多了~~
具体原因依然没弄明白,先记在这里,以免后来的朋友遇到同样的问题~~
相关文章推荐
- 探讨由于死锁或进程阻塞造成的ASP突然不能访问的问题
- Oracle数据库死锁问题探讨与处理
- 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)
- 银行家算法与死锁问题探讨
- 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)
- 用boost共享锁实现读写锁造成死锁问题
- 主线程中调用WaitForSingleObject函数造成的死锁问题
- 主外键造成ORA-00060死锁问题的解决方案
- 【Java TCP/IP Socket】深入剖析socket——TCP通信中由于底层队列填满而造成的死锁问题(含代码)
- nginx使用zookeeper造成进程死锁和崩溃问题和解决方案
- 探讨如何解决数据库中的死锁问题
- 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)
- 第十篇:深入剖析socket——TCP通信中由于底层队列填满而造成的死锁问题(含代码)
- Sequelize 事务大并发下造成的死锁问题。
- 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)
- 关于MFC DLL CWinApp::InitInstance()中创建线程的问题 易造成死锁
- DllMain加载其他DLL造成的死锁问题及其解决办法
- JBoss部署项目log4j配置会造成死锁问题,浏览器访问一直pending状态
- 【Java TCP/IP Socket】深入剖析socket——TCP通信中由于底层队列填满而造成的死锁问题(含代码)
- 多线程——同步嵌套造成死锁问题