«Информация на данном сайте предоставляется "КАК ЕСТЬ" без каких-либо гарантий и передачи прав. Мнения, высказанные здесь, являются отражением моего личного взгляда, а не позиции работодателя.»
Этот код (на С#) содержит интересную ошибку:
public class ParallelPageFetcher
{
public ParallelPageFetcher(string cachePath)
{
Thread t = new Thread(new ThreadStart(RunRequests));
t.Start();
}
void RunRequests()
{
// blaah
}
}
Ошибка заключается в том, что на обьект под именем t не сохраняется ссылок, и он неминуемо оказывается "сьеденным" сборщиком мусора. Что влечет за собой завершение работы нити. Внешне эта ошибка ничем себя не проявляет. Просто нить перестает работать. Чтобы починить, достаточно сделать t переменной класса. Не попадитесь!
Кстати, по названию класса можете сделать косвенные выводу чем я сейчас занимаюсь. Позже напишу подробнее.
Anonymous comments are disabled