hnes / libaco

A blazing fast and lightweight C asymmetric coroutine library 💎 ⛅🚀⛅🌞
https://libaco.org
Apache License 2.0
3.51k stars 391 forks source link

resume multiple coroutines in parallel #55

Open tickox opened 2 years ago

tickox commented 2 years ago

Hello,

I currently have asynchronous code with callback that I would potentially like to replace with fibers. The operation is simple, I make a parallel for loop on an event list and I call the assigned callbacks functions.

With fibers, I would initially be on the thread with main_co and resume the coroutines with a parallel for loop, which can yield again (they cannot be resumed again on the same loop).

Is it possible ? I suppose there must be synchronizations to do on the main_co when we resume, yield or exit. I would normally have few fibers (about fifty).

Thanks

hnes commented 2 years ago

Hi, I'm not sure whether I understood your question correctly. In test_aco_tutorial_6.c, there is a demo of a very naive scheduler. Yes, you may have to implement your own scheduler in this case. if I didn't understand your question correctly, a simple example of your question would be very helpful. Enjoy :-D