Распаковка большого количества файлов во временную папку с использованием BackgroundWorker - ContextSwitchDeadlock

Мой код ищет в каталоге файлы.zip и извлекает их во временную структуру папок для последующего удаления.

Иногда я получаю ContextSwitchDeadlock was detected ошибка, и когда я выясняю, где это происходит, это происходит при распаковке zip-файлов.

В результате я хотел бы перенести это в фоновый рабочий поток, но пока не могу понять, с чего начать с фонового рабочего.

Любая помощь приветствуется.

Я предполагаю, что мне нужно будет передать список zip-файлов в рабочий поток фонового режима, но пока не добился успеха.

Первая строка кода, в которой разархивированы zip-файлы: foreach (FileInfo fz в ZipFiles) {выполняет разархивирование}

Так что я хочу поместить весь цикл foreach в фоновый рабочий (я думаю?)

0 ответов

Другие вопросы по тегам