26 lines
		
	
	
		
			793 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			793 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # Multithreading
 | ||
|  | 
 | ||
|  | A few basic multithreading programs written in C++ while learning about  | ||
|  | the [concurrency support library](https://en.cppreference.com/w/cpp/thread) | ||
|  | 
 | ||
|  | ``` | ||
|  | klips/cpp/multithreading | ||
|  | . | ||
|  | ├── conditions     # Using condition_variable to control job execution flow | ||
|  | ├── deadlock       # Example of problem and solution for deadlocks | ||
|  | ├── livelock       # Example of problem and solution for livelocks | ||
|  | ├── race-condition # Example of problem and solution for race conditions | ||
|  | └── README.md | ||
|  | ``` | ||
|  | 
 | ||
|  | We can build the examples with the following commands. | ||
|  | 
 | ||
|  | ```bash | ||
|  | cd /path/to/klips/cpp/multithreading/ | ||
|  | mkdir build && cd build | ||
|  | cmake .. && cmake --build . | ||
|  | ls bin/ | ||
|  | 
 | ||
|  | multithread-conditions  multithread-deadlock  multithread-livelock  multithread-race-condition | ||
|  | ``` |