【发布时间】:2015-08-18 11:17:00
【问题描述】:
我需要在我的 Perl 代码中异步执行一个方法(不是进程),但我必须确保此代码永远不会引发任何异常并停止我的主要任务执行。
什么是异步调用方法并消除任何潜在异常的最佳方法,无论它是被调用的方法内部异常还是线程异常?
在 Java 中我们会有这样的东西:
// my task runs here
try {
// assyncrounous method invocation (fire and forget)
new MyThread().start();
} catch (Throwable e) {
// Silent any error
}
// my task continues here
【问题讨论】:
-
fork有什么问题? -
那个try catch是没用的;它不会捕获线程抛出的错误。
标签: multithreading perl exception-handling thread-safety