On Tue, Jan 29, 2019 at 12:55 AM 伊藤和也 <[email protected]> wrote:
> I know the general meaning of a deadlock, but I don't know the meaning of > a deadlock in golang. > Good question... A classic and now hard to find reference for a deadlock is "Operating System Principles (Prentice-Hall Series in Automatic Computation) by Per Brinch Hansen" > For example, I send 4 values to a buffered channel whose maxmum size is 3 > and a deadlock occurs. > Yours is blocking I/O and not a programming error with semaphores, monitors and mutual exclusion of your own design. Since the internals of Go detect this it seems correct but the run time detection would not reach out to other machines in the case of channel I/O abstracted to and on a far away resource. The message in all no progress cases likely should have a unique error. If an event could unblock this then the presence of an event handler is or is not checked. Timers... ? Interesting. -- T o m M i t c h e l l -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
