|
原帖由 悠闲的小猫 于 2010-11-25 19:21 发表 ![]()
第二种情况导致设备内存释放失败的情况我遇到。就是怎么看device pointer都是没问题的,但就是不能释放。这是咋回事?后来发现,是因为在C#的析构函数里面,是无法释放的;不过如果手工的实现IDisposable, 然后在Dispose()函数里面手工释放是没有问题的。然后发现,因为C#的析构函数总是在GC线程里面执行的。而因为这个线程不是当初malloc设备内存(也就是绑定context)的那个线程,所以自然失败。
你看看你是哪种情况。我估计你是第一种。楼主用调试器看看设备指针的值是不是被改变了。
请教第二种情况如何解决? |
|