goworkqueue
Languages and libraries
concurrency library
SHOW HN2016
6points
7comments
#2,062of 2,264 in 2016
Top 92%of 2016 by points
How HN took it
QuietFewer than 5 comments about the project
0 positive, 2 neutral or asking, 0 mixed, 1 critical, out of 3 comments about the project.
Design: 0 for, 1 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
Objections
Buffered channel imposes a fixed maximum queue size; suggested unbounded linked-list backing
From 2 comments
Could you implement this with a linked list underneath to remove the max queue size?
gravypod on HNOk well then can you back it by a linked list? That way there is no size.
gravypod on HN
Channels are already FIFO queues; the wrapper may be unnecessary
From 1 comment
Channels are inherently FIFO queues. So why not just use the usual `select`/`case` method and cast the `struct` you need into a chan with `make(chan, struct)`? See:…
kixpanganiban on HN
Requests
Back the queue with a linked list so there is no size limit
From 2 comments
Could you implement this with a linked list underneath to remove the max queue size?
gravypod on HNOk well then can you back it by a linked list? That way there is no size.
gravypod on HN
Questions
Why buffer the channel instead of using select with non-blocking send
From 1 comment
Channels are inherently FIFO queues. So why not just use the usual `select`/`case` method and cast the `struct` you need into a chan with `make(chan, struct)`? See:…
kixpanganiban on HN
Alternatives named
Plain Go channels with select and non-blocking operations
From 1 comment
Channels are inherently FIFO queues. So why not just use the usual `select`/`case` method and cast the `struct` you need into a chan with `make(chan, struct)`? See:…
kixpanganiban on HN