让我们说我想在许多线程上执行一些命令。我有这个示例代码:
for (int i = 0; i < 5000; i++)
{
new Thread(() =>
{
while (true)
{
string foo = "foo " + DateTime.Now.Ticks;
bool breakout = false;
for (int j = 0; j < random.Next(10, 100); j++)
{
string bar = "bar " + DateTime.Now.Ticks;
if (j == 5)
{
continue;
}
if (j == 8)
{
breakout = true;
break;
}
}
if (breakout)
{
continue;
}
string baz = "baz " + DateTime.Now.Ticks;
}
}).Start();
}
这个代码示例,创建5K线程并设置一些字符串,就我而言会泄漏内存。随着代码的运行,内存使用量越来越高。 现在,我认为这是因为我设置变量然后放弃它们 - 有没有一种方法可以继续/中断而不会增加内存使用量?