Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Non-blocking Concurrency Primitives #170

Closed
gopherbot opened this issue Nov 14, 2009 · 7 comments
Closed

Support Non-blocking Concurrency Primitives #170

gopherbot opened this issue Nov 14, 2009 · 7 comments

Comments

@gopherbot
Copy link
Contributor

by mikeb01:

It would be useful to have support for operations commonly used with non-
blocking concurrency such as volatile reads/writes, compare and 
set/exchange, and atomic increment.

This doesn't need language support, but probably would require support from 
the runtime.  Perhaps something similar to .Net's 
Interlocked.CompareExchange, Interlocked.Increment, and 
Thread.Volatile{Read,Write}.
@rsc
Copy link
Contributor

rsc commented Nov 14, 2009

Comment 1:

These should be available for very low-level code, but we hope that
most code will be built on top of higher-level, less error-prone primitives
like channels.

Owner changed to r...@golang.org.

Status changed to Accepted.

@rsc
Copy link
Contributor

rsc commented Nov 15, 2009

Comment 2:

Status changed to LongTerm.

@rsc
Copy link
Contributor

rsc commented Dec 2, 2009

Comment 3:

Labels changed: added packagechange.

@gopherbot
Copy link
Contributor Author

Comment 4 by dahankzter:

Perhaps larger structures like maps could also be made concurrent?

@rsc
Copy link
Contributor

rsc commented Jan 18, 2010

Comment 5:

@dahankzter: http://golang.org/doc/go_lang_faq.html#atomic_maps

@gopherbot
Copy link
Contributor Author

Comment 6 by dahankzter:

Java freaks like me are prone to caching and having structures transparently use low 
level cas instructions for example helps avoiding hand syncing.
I think its probably a good idea to skip it (at least initially) since things like 
this part of why new approaches are needed.

@rsc
Copy link
Contributor

rsc commented Feb 25, 2011

Comment 7:

This issue was closed by revision 22eab1f.

Status changed to Fixed.

@golang golang locked and limited conversation to collaborators Jun 24, 2016
@rsc rsc removed their assignment Jun 22, 2022
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants