线程、进程、队列、IO多路模型 操作系统工作原理介绍、线程、进程演化史、特点、区别、互斥锁、信号、事件、join、GIL、进程间通信、管道、队列。生产者消息者模型、异步模型、IO多路复用模型、select\poll\epoll 高性能IO模型源码实例解析、高并发FTP server开发``` 一、问 ...
                            
                            
                                分类:
其他好文   时间:
2018-05-04 01:32:44   
                                阅读次数:
548
                             
                    
                        
                            
                            
                                一 .概述 在前面我们使用synchronized完成了一个原子方法的实现.现在我们需要深入的理解这个关键词. 二 . 使用方式 对于这个关键词我们的使用方式有四种: [1]修饰普通方法 [2]修饰静态方法 [3]对实例对象加互斥锁 [4]对类对象加互斥锁 我们首先需要知道的就是synchroniz ...
                            
                            
                                分类:
其他好文   时间:
2018-05-01 20:37:40   
                                阅读次数:
121
                             
                    
                        
                            
                            
                                一 . 概述 之前我们提到了线程并发出现的安全问题,最为简单的一种处理方案就是使用互斥锁. 在java之中任何一个对象都可以作为一个互斥锁,这种互斥锁通常配合synchronized来使用. 二 . 测试用例 上面的例子描述的问题很简单: 创建一个方法,这个方法可以为一个共享变量不断的自增. 现在创 ...
                            
                            
                                分类:
其他好文   时间:
2018-05-01 20:36:29   
                                阅读次数:
132
                             
                    
                        
                            
                            
                                RWMutex:是基于Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或者一个写锁,同一时刻只能持有读锁或者写锁 ...
                            
                            
                                分类:
其他好文   时间:
2018-04-30 22:06:53   
                                阅读次数:
136
                             
                    
                        
                            
                            
                                    在说明之前我先抛出结论:互斥锁和二值信号量在使用上非常相似,但是互斥锁解决了优先级翻转的问题 假定我们现在有三个任务,task1,task2,task3,任务优先级task1最高,然后依次降低。我们知道在系统调度的时候当两个任务同时处于就绪态的时候,系统会优先执行优先级高的任务 好了,让我们来看两个 ...
                            
                            
                                分类:
其他好文   时间:
2018-04-29 12:04:38   
                                阅读次数:
219
                             
                    
                        
                            
                            
                                    前言:前面有篇博客已经介绍了线程、线程的信号量和互斥锁,请参考博客:http://www.cnblogs.com/liudw-0215/p/8966645.html,接下来将介绍线程池。 一、理解 线程池能有效的处理多个线程的并发问题,避免大量的线程因为互相强占系统资源导致阻塞现象,能够有效的降低频 ...
                            
                            
                                分类:
编程语言   时间:
2018-04-28 19:22:07   
                                阅读次数:
219
                             
                    
                        
                            
                            
                                    前言:有个问题感觉一直会被问道:进程和线程的区别?也许之前我会回答: 进程:资源分配最小单位 线程:轻量级的进程 是系统调度的最小单位 由进程创建 多个线程共享进程的资源 但是现在我觉得一个比喻回答的更好:程序就像静止的火车,进程是运行的火车,线程是运行火车的每节车厢。 个人感觉理解远比背些概念性东 ...
                            
                            
                                分类:
编程语言   时间:
2018-04-28 14:07:00   
                                阅读次数:
191
                             
                    
                        
                            
                            
                                一、GIL:全局解释器锁 1 、GIL:全局解释器锁 GIL本质就是一把互斥锁,是夹在解释器身上的, 同一个进程内的所有线程都需要先抢到GIL锁,才能执行解释器代码 2、GIL的优缺点: 优点: 保证Cpython解释器内存管理的线程安全 缺点:同一进程内所有的线程同一时刻只能有一个执行,也就说Cp ...
                            
                            
                                分类:
编程语言   时间:
2018-04-27 16:49:41   
                                阅读次数:
181
                             
                    
                        
                            
                            
                                GIL 多进程多线程使用场景 线程互斥锁与GIL对比 基于多线程实现并发的套接字通信 进程池与线程池 同步、异步、阻塞、非阻塞 ...
                            
                            
                                分类:
编程语言   时间:
2018-04-27 16:47:39   
                                阅读次数:
226
                             
                    
                        
                            
                            
                                GIL全局解释器锁 GIL本质就是一把互斥锁,是夹在解释器身上的,同一个进程内的所有线程都需要先抢到GIl锁,才能执行解释器代码 GIL的优缺点: 优点:保证Cpython解释器内存管理的线程安全 缺点:同一个进程内所有的线程同一时刻只能有一个执行,也就是说Cpython解释器的多线程无法实现并行, ...
                            
                            
                                分类:
编程语言   时间:
2018-04-27 16:46:09   
                                阅读次数:
202