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.

Reply via email to