Бесплатно в неправильный пул 2608aa8 не 6d3fe8 в test.pl
Ниже приведен мой код:
sub test_ms {
my $coderef1 = shift;
my $coderef2 = shift;
if (fork() == 0) {
&$coderef1;
exit;
}
&$coderef2;
}
Когда я запускаю это, я получаю ошибку как
Бесплатно в неправильный пул 2608aa8 не 6d3fe8 в test.pl
Почему я получаю эту ошибку?
2 ответа
Perlfork говорит
В Windows системный вызов fork() недоступен
Вот почему это не работает, как ожидалось для вас. Попробуйте использовать Win32::Process::Create
,
Увидеть:
Это сообщение означает, что скаляр (или массив или...), выделенный одним потоком (или интерпретатором?), Был освобожден другим. fork
создает потоки, а не процессы в Windows. Это, вероятно, потому, что объект в $Excel
не безопасно проходить между потоками. Создайте $Excel
в теме, в которой вы собираетесь его использовать.