Skip to content

Refine Channel Implementation for Select Op #8812

@abhinavarora

Description

@abhinavarora

The current implementation of buffered and unbuffered channels is not compatible with the way the Select op is implemented by Go (http://www.tapirgames.com/blog/golang-concurrent-select-implementation). We need to redesign the channel implementations in a way similar to Go (https://github.com/golang/go/blob/master/src/runtime/chan.go#L417)

This involves making the channels contain a queue of Send and receive routines. In Go the goroutine can be stored inside an object. In our case, we need to create data structres that let us make the thread sleep or wake.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions