Hacker News new | comments | show | ask | jobs | submit login

Node.js is concurrent - you can have multiple paths of execution at the same time. It's just that Node.js concurrency has non-preemptive context switch at well defined points - function boundary, thus no need for lock, whereas preemptive concurrency can context switch at any point and thus needs lock.

There are multiple paths of execution your code but they are never running concurrently. Only the underlying I/O is really executing concurrently with your code.

Multiple paths of execution is concurrency. I guess what you intended to mean was parallelism, which is different from concurrency.

A multi-threaded program running on a single core system has only one path executed at any given time, but we still call it a concurrent program.

Concurrency is a superset and includes parallelism. What we both really mean is that it uses at most one core at a time to execute your code.


_That_ I did not know. Thanks!

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