Working with Concurrency TS
luncliff opened this issue · 2 comments
Final decision for the issue
Discarding this suggestion since most of the TS features won't be used in test/example codes.
latch
is appropriate, but the others are not that much ...
Also, it will be a heavy burden for their maintenance to enforce standard interfaces. The future code will allow <coroutine/concrt.h>
to use some well-known system API functions.
Note
There are already similar features in Concurrency TS.
- from
wait_group
to latch - for implementation of
suspend_queue
: using p0260: concurrent queue
Replacing the current code will be helpful for later maintenance. And it also meets the purpose of the repository: providing an example.
Interface
Candidate for the replacement is sync.h
.
// from <coroutine/sync.h>
#include <coroutine/concurrency_adapter.h>
After implementation, the header dependency must remain same.
concurrency_adapter.h
fromsync.h
suspend.h
- uses
concurrency_adapter.h
, but not included in the file
- uses
Issues
- Possible header collision(redefinition of codes)
- Using another library for the TS
- Dependency management Issue
- License
References
Latch
Windows Concurrency Runtime has event
class. Sadly, the type doesn't support alertible wait...
Concurrent Queue
- Windows Concurrency Runtime
Windows API already has its own one. What about the others?
Intel TBB can be adapted for the other platform.
The concern is that unnecessary large build than what is required for this library.