摘要:
加锁是为了避免在并发环境下,同时访问共享资源产生的风险问题。那么,在并发环境下,是否必须加锁?答案是否定的。并非所有的并发都需要加锁。适当地降低锁的粒度,甚至采用无锁化的设计,更能提升并发能力。 比如,JDK中的ConcurrentHashMap,巧妙地采用了桶粒度的锁,避免了put和get中对整个 阅读全文
摘要:
真正的零拷贝有两种方式: mmap+write Sendfile mmap 是一种内存映射文件的方法,即将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对应关系。 这样就可以省掉原来内核 Read 缓冲区 Copy 数据到用户缓冲区,但是还是需要内核 阅读全文