Comments (3)
Hi @etorth :-)
But currently the libaco bind the coroutine to a
main co
and have to resume by the same thread.
Yes.
Is there any possibility to support it?
Yes again, it is possible to support it from the perspective of technique. But I don't think it is quite necessary, at least in the recent period. But if you do have some very strong reasons, I would be very glad to discuss it with you further.
Here is some advice:
-
You could just send a msg like
(task_fp, task_data_ptr)
to the coroutine you want to execute the task no matter these coroutines (i.e. the sender and receiver) are from the same thread or not. Or you could simply treat the coroutine as a service which could receive request msg and reply with the result msg. -
Or maybe you could give Golang a try about the thing you wanna do? :-p
from libaco.
https://github.com/zswDev/libgco/blob/master/task.cpp
change aco->main_co = thread_local main_co
from libaco.
I have switched to c++20's native coroutine support.
from libaco.
Related Issues (20)
- Document c standard library dependencies
- Status and Future Plans of libaco
- Provide way to return error to caller instead of calling `abort()` on failed assertions HOT 1
- is it worth to create coroutine inside coroutine?
- which one better to pass argument to co function
- 关于libco bug的疑问
- Thread local storage support HOT 1
- Feature request: Ability to return a value from aco_yield() HOT 1
- Feature Request: aco_get_co() return NULL when the caller is main co HOT 4
- is 120byte the lowest we can have? possible to lower this? HOT 1
- Do libaco coroutines run on different CPUs at the same time. i.e. does the program performance benefit from having multiple CPUs HOT 2
- Question: which is faster, creating new coroutines or reusing old coroutines HOT 3
- resume multiple coroutines in parallel HOT 1
- Integrate into our io engine? HOT 1
- add arm32/aarch64 support for android and ios HOT 1
- `aco_amd64_inline_short_aligned_memcpy_test_ok` size alignment
- whether this description is incorrect
- Few questions about proper usage
- is aco_exit necessary?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libaco.