nodejs学习 nodejs非阻塞io原理非阻塞io操作流程主要是有个线程池实现异步操作,最后返回结果再由loop进行接收 ,loop单线程接收任务是单线程。`什么是异步非阻塞` 排队:在排队的时候,你除了等之外什么都干不了 叫号机:你要做的是先取号码,等轮到你的时候,系统会通知你,这中间,你可以... ...
分类:
Web程序 时间:
2019-11-10 19:16:50
阅读次数:
81
模块安装 Windows 安装scrapy 需要安装依赖环境twisted,twisted又需要安装C++的依赖环境 pip install scrapy 时 如果出现twisted错误 在https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应的Twiste ...
分类:
其他好文 时间:
2019-11-09 23:30:40
阅读次数:
92
阻塞队列的实现前面已经讲解完毕,今天我们继续了解源码中非阻塞队列的实现,接下来就看一看ConcurrentLinkedQueue非阻塞队列是怎么完成操作的 ...
分类:
其他好文 时间:
2019-11-09 19:36:37
阅读次数:
99
主要区别 1. 锁机制不一样:synchronized是java内置关键字,是在JVM层面实现的,系统会监控锁的释放与否,lock是JDK代码实现的,需要手动释放,在finally块中释放。可以采用非阻塞的方式获取锁; 2. 性能不一样:资源竞争激励的情况下,lock性能会比synchronize好 ...
分类:
编程语言 时间:
2019-11-09 12:04:22
阅读次数:
254
《精通JPA与Hibernate:Java对象持久化技术详解》这本书写完,就开始着手写《Java网络编程核心技术详解》一书,已经写了一大半,内容包括:Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBCAPI、JavaMailAPI、MVC设计模式、XML处理、安全网络通信、CORBA和Web服
分类:
编程语言 时间:
2019-11-08 09:26:51
阅读次数:
154
Nginx 首先要明白,Nginx 采用的是多进程(单线程) & 多路IO复用模型。使用了 I/O 多路复用技术的 Nginx,就成了”并发事件驱动“的服务器。 异步非阻塞(AIO)的详解http://www.ibm.com/developerworks/cn/linux/l-async/ 多进程的 ...
分类:
其他好文 时间:
2019-11-07 09:37:46
阅读次数:
70
1 /* 2 * epoll基于非阻塞I/O事件驱动 3 */ 4 #include <stdio.h> 5 #include <sys/socket.h> 6 #include <sys/epoll.h> 7 #include <arpa/inet.h> 8 #include <fcntl.h> ...
分类:
其他好文 时间:
2019-11-05 21:32:22
阅读次数:
93
1、IO介绍 对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,该操作会经历两个阶段: 服务端: 客户端: 非阻塞IO: #服务端 from so ...
分类:
其他好文 时间:
2019-11-04 19:37:43
阅读次数:
143
网上有很多讲同步/异步/阻塞/非阻塞/BIO/NIO/AIO的文章,但是都没有达到我的心里预期,于是自己写一篇出来。 常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒 ...
分类:
其他好文 时间:
2019-11-04 13:46:16
阅读次数:
79
目标: BIO、NIO、AIO 的区别是什么? 同/异步、阻/非阻塞的区别是什么? 文件读写最优雅的实现方式是什么? NIO 如何实现多路复用功能? 一,IO的介绍: (1)IO的全称其实是:Input/Output的缩写。 (2)我们通常所说的 BIO 是相对于 NIO 来说的,BIO 也就是 J ...
分类:
编程语言 时间:
2019-11-03 15:02:48
阅读次数:
77