随着并行算法的出现,现在可能是考虑错误处理的好时机。
所以起初有错误代码。那些很烂。可以随意忽略它们,因此您可能会迟到并产生难以调试的代码。
然后是例外。这些问题一旦发生就变得不可忽视,而且大多数人(乔尔除外)更喜欢他们。
现在我们有了帮助并行代码的库。问题是,您无法像使用非并行代码那样轻松地处理并行代码中的异常。如果异步启动任务并引发异常,则没有堆栈跟踪可以展开。最好的办法是捕获它并将其注册在任务对象上(如果有)。但是,它破坏了异常的主要优势:您必须检查它们,并且可以不加任何考虑地忽略它们,而在单线程代码中,异常必然会触发适当的操作(即使这意味着终止程序)。
语言实现或库应如何支持并行代码中的错误?
2
这不应该属于stackoverflow吗?
—
Graviton
@Ngu Soon Hui这是主观的,它与不一定存在的功能有关,因此我认为它属于此处。
—
zneak 2010年
但这是关于编程的,而不是程序员。:)
—
bzlm
@bzlm常见问题解答说:“程序员-Stack Exchange适用于对软件开发的主观讨论感兴趣的专业程序员。” 因此,SO明确地阻止了主观讨论。
—
zneak