4 ms·
I find it easier if I disassociate the English meanings of the words from really how the words are used to mean different things in computer science. To me, con
by keveman 15y ago
I find it easier if I disassociate the English meanings of the words from really how the words are used to mean different things in computer science. To me, concurrency is only in the programmers mind. That is, a programmer writes concurrent programs with different threads of control, say, one to process the user input, one to process the network packets etc. In reality, the multiple threads of control could really be running SEQUENTIALLY. That was the case when there was only one core. Remember, pthreads predates multi-cores.
Parallelism is something more concrete, it REALLY exists in the real world. A programmer could just imagine and write a sequential loop, but if the compiler deemed it to be really parallel, it could really run parts of the loop in parallel. Of course, a programmer could write a concurrent program, as in, multiple threads of control, and the system could really run it in parallel, say on different cores of a multi-core processor. So remember, concurrency is abstract, parallelism is concrete.
- javert 15y agoOK, I'm seeing this explanation being brought up, and it makes sense. Thank you. I wish the original poster had actually stated it this way.
- srgseg 15y agoThis is one of those times where not being able to see comment points really hurts my ability to read this thread. Lots of people saying slightly different things, and no way for me to know where consensus lies.