3 ms·
I think there's a big difference between designing an application using threads and using an existing thread-based API or system, like the article describes. If
by zwieback 14y ago
I think there's a big difference between designing an application using threads and using an existing thread-based API or system, like the article describes. If you write your own application-specific threads you can pick and choose from any concurrent design pattern you want. Using pre-existing multithreaded systems typically forces the programmer to use specific policies to interact with the system.
- sparkie 14y agoThis is true, but the term "threads" has been abused to refer exclusively to preemptive multitasking, omitting other solutions like coroutines. This is why we keep inventing new silly terms like "fibers" to refer to alternative solutions.
- zwieback 14y agoYes, when I hear thread I have a specific thing in mind and that thing is not like a coroutine. The difference between process and thread is probably pretty clear to everyone but other concurrent programming models are not very clearly differentiated. Also, because the call stack is such a fundamentally accepted concept, which the article does a good job explaining and illustrating, it's hard for most of us to jump out of our traditional concepts of execution flow.