我的线程例程看起来像这样
void * dowork(void * args)
{
char* ptr = new char[25];
memset(ptr, 0, sizeof(ptr));
// Do some operations with ptr
// What if I call delete[] ptr
}
我已经初始化了 5 个线程。现在的问题,
- 这个线程安全吗?
- 哪个线程拥有内存?
ptr
每次新线程dowork
处理? 如果是,那么之前分配的内存会怎样?- 如果
delete[] ptr
在末尾使用dowork
怎么办?