我坚持使用c ++赋值,我应该创建一个简单的线程,另一个线程具有相同的逻辑,但也有内存泄漏。
这应该是一个简单的线程示例,即使没有做任何有用的事情。所以我想我的问题是,在c ++中最简单的线程是什么,如果我已经正确理解为了使它泄漏内存,我应该创建一个永不删除的变量? 此外,这个“泄漏”应该放在循环中还是以其他方式重复...因为对我来说,只留下一个未删除的变量似乎不是一个重大泄漏。
答案 0 :(得分:0)
这对于泄漏来说已经足够了:
new char;
如果你想要更多,你可以把它放在一个循环中,但要小心 -
while( true ) {
new char;
}
使大多数系统很快停止运行 - 它们开始交换并几乎无法使用。 IMO你应该坚持泄漏一些物品,除非你有其他特殊要求。
答案 1 :(得分:0)
你总是可以分配一个大对象(比如一个大缓冲区)而永远不会释放它;这样一个单独的分配将是一个重大的内存泄漏。
同样,如果你有一个被设计为某种经常被称为工作线程的线程,并且那里的内存泄漏很少,那么在你的程序运行时,你很容易通过“一千次切割的死亡”来解决内存问题“风格泄漏。
答案 2 :(得分:0)
有一个Boost线程库,这可能是C ++中线程最简单的选择。是的,内存泄漏只是一个未删除的变量。如果您不想要单变量内存泄漏,只需分配您认为必要的任何大小的数组。 new char[x]
,其中x是您想要的内存泄漏字节数