Thoughts on definition for disadvantage of concurrent processing? I'm a Computer Science student currently learning about concurrent processing. I found the benefits and disadvantages in my book vague, did some online research and put together a more detailed way of defining the disadvantage of concurrent processing; thoughts and corrections are appreciated.

Book version: "The drawback is that if a large number of users are all trying to run programs, and some of these involve a lot of computation, these programs will take longer to complete."

My version:
Using concurrent processing on multiple users running the same program, means no one can finish until everyone has nearly finished. This is inefficient compared to consecutive processing where the last user would finish at the same time as the last user in concurrent processing, but some users would finish significantly earlier. However the scaling of this inefficiency is limited by the amount of threads, because concurrent processing only switches between the first process of each thread queue. The process at the beginning of each thread can change with the use of interrupts though.

Do you think I elaborated on the book properly, or misunderstood it?
I'm studying for the same A Level and have found that deadlock, starvation, race conditions and the overhead affiliated with coordinating simultaneous threads are reasonable, in-depth disadvantages of concurrent processing

Deadlock occurs when each process/thread is waiting for another to finish (meaning that no process is ever able to complete). For example, this happens with cyclic dependencies (e.g. when process A needs B which needs C which needs A).

Starvation is when a process is always denied a resource that it needs, resulting in the process never completing.

Race conditions are when two processes are sharing the same storage location (i.e. variable) and the result of operations depends on the order in which they are ran.

Overhead - there is additional processing overhead to coordinate the individual threads (and combine their results). This can mean, for some problems, a single thread is more efficient than multiple.

Hope I've helped clarify things for anyone who was also confused with this topic,

Josh

Sources:

Cambridge Elevate OCR A Level Textbook

Rensselaer Polytechnic Institute Lecture Notes