Re:Errors in Go: From denial to acceptance
by jstimpfle on Tuesday November 27, 2018 @07:52AM
(#18541893)
Sure, today's CPUs execute not only in parallel but also out-of-order. But that doesn't matter since threads don't let threads die before they've done their share.
Out-of-order makes thread synchronization a little harder (when implementing lock-free algorithms for example), but that has nothing to do with exceptions.
> What point are you trying to make? Obviously what I mean by sequential code here is that you can easily reason "if control flow reaches point A, then B will be executed, too".
That goes out the door with any parallelism whatsoever, because control flow may reach point A in thread 1, but then thread 2 kills thread 1, and point B is never reached.
It's increasingly hard to bury ones head in the sand and pretend every machine is a single-CPU single-task system with no interrupts.