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

Why ExecutionAndPublication and PublicationOnly have such names? #12214

Closed
MNF opened this issue May 6, 2019 — with docs.microsoft.com · 5 comments · Fixed by #26041
Closed

Why ExecutionAndPublication and PublicationOnly have such names? #12214

MNF opened this issue May 6, 2019 — with docs.microsoft.com · 5 comments · Fixed by #26041
Assignees
Labels
doc-enhancement Improve the current content [org][type][category] dotnet-framework/svc Pri2

Comments

Copy link

MNF commented May 6, 2019

Could you please explain in the article, why ExecutionAndPublication and PublicationOnly have such names? The descriptions of modes do not mention publication and it is not clear how behavior is associated with the name of mode.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

@mairaw mairaw added product-question Product usage related questions [org][type][category] and removed ⌚ Not Triaged Not triaged labels Dec 6, 2019
@mairaw
Copy link
Contributor

mairaw commented Dec 6, 2019

@kouvel can you help with this question? Is this an issue with the docs?

@mairaw mairaw added the waiting-on-feedback Waiting for feedback from SMEs before they can be merged label Dec 6, 2019
@kouvel
Copy link
Member

kouvel commented Sep 9, 2020

I suspect that it's referring to what guarantees are made. There's some code that would do initialization and then a value produced would be published to be used by consumers thereafter. Sort of like:

  • A safety mode of None does not guarantee anything (not to be used by multiple threads I figure, since otherwise multiple initializations may occur and multiple values may be published and used by consumers)
  • A safety mode of Publication would guarantee that exactly one result of an initialization would be published and used by consumers, but does not guarantee that initialization code only runs once nor that it may not run concurrently
  • A safety mode of ExecutionAndPublication would guarantee that initialization code would run in a thread-safe manner, and only one initialization would occur, the result of which would be published and used by consumers

@dotnet-bot
Copy link
Contributor

This issue has been closed as part of the issue backlog grooming process outlined in #22351.

That automated process may have closed some issues that should be addressed. If you think this is one of them, reopen it with a comment explaining why. Tag the @dotnet/docs team for visibility.

@dotnet-bot dotnet-bot added the won't fix Issues that were closed as part of automated backlog grooming label Jan 25, 2021
@MNF
Copy link
Author

MNF commented Jan 25, 2021

@dotnet/docs, will @kouvel’ s explanation above be useful to include in the documentation?

@kouvel kouvel added doc-enhancement Improve the current content [org][type][category] and removed product-question Product usage related questions [org][type][category] waiting-on-feedback Waiting for feedback from SMEs before they can be merged won't fix Issues that were closed as part of automated backlog grooming labels Jan 25, 2021
@kouvel kouvel self-assigned this Jan 25, 2021
@kouvel
Copy link
Member

kouvel commented Jan 25, 2021

Yes I'll add to the docs

@kouvel kouvel reopened this Jan 25, 2021
kouvel added a commit to kouvel/dotnet-api-docs that referenced this issue Sep 10, 2021
- Clarify terms used in `LazyThreadSafetyMode` field names. Relevant to dotnet/docs#12214.
- Clarify documentation of the `Volatile` class. Relevant to dotnet/docs#24318.
- Update docs for `Thread.VolatileRead` and `Thread.VolatileWrite`. Fixes dotnet#2518.
- Clarify something about `ManualResetEventSlim`'s perf benefit over `ManualResetEvent`. Fixes dotnet#3323.
kouvel added a commit to kouvel/docs that referenced this issue Sep 10, 2021
- Document new settings available to configure the rate of thread injection for sync-over-async. Fixes dotnet#24566.
- Clarify documentation of the `volatile` keyword. Fixes dotnet#24318.
- Add link to clarify some terms in `LazyThreadSafetyMode` field names. Fixes dotnet#12214.
carlossanlop pushed a commit to dotnet/dotnet-api-docs that referenced this issue Sep 13, 2021
* Clarify/fix some threading API docs

- Clarify terms used in `LazyThreadSafetyMode` field names. Relevant to dotnet/docs#12214.
- Clarify documentation of the `Volatile` class. Relevant to dotnet/docs#24318.
- Update docs for `Thread.VolatileRead` and `Thread.VolatileWrite`. Fixes #2518.
- Clarify something about `ManualResetEventSlim`'s perf benefit over `ManualResetEvent`. Fixes #3323.

* Apply suggestions from code review

Thank you!

Co-authored-by: Genevieve Warren <[email protected]>

Co-authored-by: Genevieve Warren <[email protected]>
kouvel added a commit that referenced this issue Sep 13, 2021
* Clarify/fix some threading docs

- Document new settings available to configure the rate of thread injection for sync-over-async. Fixes #24566.
- Clarify documentation of the `volatile` keyword. Fixes #24318.
- Add link to clarify some terms in `LazyThreadSafetyMode` field names. Fixes #12214.

Co-authored-by: Genevieve Warren <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc-enhancement Improve the current content [org][type][category] dotnet-framework/svc Pri2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants