我试图使用线程来解析两种不同类型的文件。子程序根本不共享数据。
# Parse header files
$hdr_thrd = threads -> create(\&Parser::parse_header_file, $path);
# Parse input template files
$tmplt_thrd = threads -> create(\&TemplateParser::parse_template);
# Join the threads
$tmplt_thrd -> join();
$hdr_thrd -> join();
# This uses the data obtained from the above two threads
&Parser::parse_xml_template();
当parse_xml_template
函数试图访问一个数组时,问题就来了@TemplateParser::array
。数组此时没有数据,但它正在parse_template
函数内部填充。我错过了什么吗?