|  |  | @ -4,7 +4,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | > <br> |  |  |  | > <br> | 
			
		
	
		
		
			
				
					
					|  |  |  | > commit 8aecae3efe5ca8f79f055b70f05d9a3f990bce7b |  |  |  | > commit 8aecae3efe5ca8f79f055b70f05d9a3f990bce7b | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 在大部分现代操作系统中,已执行程序的代码在一个 **进程**(_process_)中运行,操作系统则会负责管理多个进程。在程序内部,也可以拥有多个同时运行的独立部分。这些运行这些独立部分的功能被称为 **线程**(_threads_)。例如,web 服务器可以有多个线程以便可以同时响应多余一个请求。 |  |  |  | 在大部分现代操作系统中,已执行程序的代码在一个 **进程**(_process_)中运行,操作系统则会负责管理多个进程。在程序内部,也可以拥有多个同时运行的独立部分。这些运行这些独立部分的功能被称为 **线程**(_threads_)。例如,web 服务器可以有多个线程以便可以同时响应多于一个请求。 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 将程序中的计算拆分进多个线程可以改善性能,因为程序可以同时进行多个任务,不过这也会增加复杂性。因为线程是同时运行的,所以无法预先保证不同线程中的代码的执行顺序。这会导致诸如此类的问题: |  |  |  | 将程序中的计算拆分进多个线程可以改善性能,因为程序可以同时进行多个任务,不过这也会增加复杂性。因为线程是同时运行的,所以无法预先保证不同线程中的代码的执行顺序。这会导致诸如此类的问题: | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |