Content deleted Content added
Artoria2e5 (talk | contribs) |
Artoria2e5 (talk | contribs) |
||
Line 9:
The [[fork–join model]] from the 1960s, embodied by multiprocessing tools like [[OpenMP]], is an early example of a system ensuring all threads have completed before exit. However, Smith argues that this model is not true structured concurrency as the programming language is unaware of the joining behavior, and is thus unable to enforce safety.<ref name=smith/>
The concept was formulated in 2016 by Martin Sústrik (creator of [[ZeroMQ]]) with his C library libdill, with [[Go_(programming_language)#Concurrency:_goroutines_and_channels|goroutines]] as a starting point.<ref>{{cite web |last1=Sústrik |first1=Martin |title=Structured Concurrency |url=http://250bpm.com/blog:71 |date=7 February 2016 |accessdate=1 August 2019}}</ref> It was further refined in 2018 by Nathaniel J. Smith, who
In 2019, the loom project from [[OpenJDK]] is adopting structured concurrency to bring it to the [[Java platform]] in a future release as part of a larger work on [[lightweight thread]]s and [[coroutine]]s.<ref>{{cite web |last1=Bateman |first1=Alan |website=openjdk.java.net |publisher=[[OpenJDK]] |access-date=November 23, 2019 |title=Structured concurrency |url=https://wiki.openjdk.java.net/display/loom/Structured+Concurrency}}</ref>
|