Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Coroutines, async, parallelism and concurrency is my main hobby.

Business logic programmers shouldn't be dealing with machine level parallelism and async unless heavily abstracted, such as in a job queue or evented message queue.

JMP or RET is how the machine transfers control flow at the machine level. So coroutines are a natural solution to switching between code at the machine layer.

If you're working in Javascript, then you shouldn't have to worry about this stuff.

Cooperative multitasking is elegant, within a process for scheduling but not as the main approach for the operating system to switch between processes, it's a subtle difference.

If the operating system depends on cooperative multitasking, some buggy processes can keep control flow to themselves. But using cooperative multitasking inside a process for code elegance, is a good way of scheduling and decoupling concerns.

I have a lightweight thread runtime similar to Go and I find event loops really interesting, I want to make the pain of async and parallelism go away.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: