我想清理由特定線程(因此只能訪問該線程)創建的特定內存對象。我實現這一目標的唯一方法是在釋放內存塊時切換到該特定線程。爲MFC應用程序清理切換線程
我這是怎麼分配的特定內存方面: http://imagebin.ca/img/S6mwZBFu.jpg
這就是我試圖做:
alt text http://imagebin.ca/img/DeTe9Z6h.jpg
我已最初添加的內存環境創建和銷燬的方式如下所示:
int Thread2::main()
{
CudaMemoryContext *theCudaObj = new CudaMemoryContext();
while(!TerminateStatus())
{
...
}
delete theCudaObj;
return 0;
}
但是, ach不能很好地工作,即當我清理「delete theCudaObj」時程序崩潰了;線。我想知道是否可以在清理時切換活動線程,或者將CUDA上下文分配給兩個線程均可訪問,以便通過兩個線程清理並輕鬆訪問它。預先感謝您的建議。
如何在其他線程上刪除時如何避免崩潰?在我看來,崩潰的問題與線程無關。 – 2009-11-22 00:53:33
我不知道是否可以避免。看起來問題是能夠在適當的內存上下文中刪除cuda內存上下文。 – stanigator 2009-11-22 01:04:42