关于node的并发初次尝试

怎么用node写一个并发?

参照

https://github.com/alsotang/node-lessons/tree/master/lesson4

实现的方式

  • 回调的方式

单线程的 node为什么能够实现并发?
线程执行的时间大部分都在io操作,
因此在执行io操作时,切换线程从而实现并发。

也可以使用threads_a_gogo模块来实现多线程。
cnode介绍地址: https://cnodejs.org/topic/518b679763e9f8a5424406e9
github地址: https://github.com/xk/node-threads-a-gogo

node的并发与java相比
node : 在一个线程中发送多个请求。
java : 为每一个请求分配一个进程。

so 相比node java会消耗更多的资源。
因为node是单线程的,所以如果是 计算密集型的,java 要更有优势。

什么是io操作
io 操作在不同的层次上有不同的理解。比如读写外部设备的都是io, 比如打印机,显示器,数据库等。

有一种简单的分类:数据型IO和非数据型IO。
数据型IO : 操作中包含读取扇区数据。

posted @ 2017-05-08 23:03  小明DDD  阅读(320)  评论(0编辑  收藏  举报