What is the main approach to solving the problem that locks don't lock anything?
The main approach is to have the locks internally implemented within the data structure's class attributes and methods, so that external functions and programs cannot bypass those locks and access a shared concurrent object simultaneously.
Describe the concept of scalability, in the context of concurrent programming.
By the scalability of a program, we mean the changes in performance when the amount of tasks to be processed by the program increases. Andre B. Bondi defines the term scalability as, "the capability of a system, network, or process to handle a growing amount of work, or its potential to be enlarged to accommodate that growth."
How does a naive locking mechanism affect the scalability of a concurrent program?
The scalability of a simple lock-based data structure...