First of all, we have build-in ithread, although it is ugly: variables are not shared, and are copied on the creation of thread, which consumes memory.
forks is a thread module that implemented on fork, and IPC implemented using socket. It provides API that is very similiar as threads module.
Coro is something different. It is a cooperative model: you have to say cede() frequently to yeild CPU resource to other threads.
omnithreads says it's based on old 5005thread, but it has everything not shared by default. I don't know what's the difference.
Somebody says it's possible to do concurrency things in C using pthread, and do perl things using embedded perl interpreter. I've never tried such ugly method.
At last, we have fork() in most systems.
My question is: all those things above, which ones are both stable and light-weighted?
In reply to issue of concurrency: which module is better by llancet
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |