计算机网络
文章平均质量分 67
WesleyWang97
这个作者很懒,什么都没留下…
展开
-
libuv学习(一) : Basics of Libuv
Introductionlibuv强制异步,事件驱动编程.它的核心功能是提供一个事件队列和回调机制基于IO提醒和其他活动. libuv 提供核心的功能包括 timers, non-blocking networking support, asynchronous file system access, child processes等.Hello world以下代码建立了一个 uv_l...原创 2018-08-19 20:07:39 · 599 阅读 · 0 评论 -
libuv学习(二) : FileSystem
Introduction简单的文件系统读写是通过 uv_fs_* 函数 uv_fs_t 结构体实现的. libuv FileSystem Operation 和 Socket Operation 操作不一样, socket 操作使用的是异步非阻塞的方法, 而FileSystem Operation在内部使用的是阻塞的函数, 但是是通过异步的方法调用的读写文件获取文件描述符:...原创 2018-08-19 20:55:18 · 639 阅读 · 0 评论 -
libuv学习(三) : Networking
Introduction把 libuv 核心原理弄懂之后(异步机制, 事件驱动, loop, handle), Network 部分其实也没什么难的了, libuv 相当于在 network 部分首先简化了一下系统的接口, 然后再加上了自己的异步机制.下面重点介绍一下在libuv中的 tcp 和 udp. 除此之外, libuv 还提供了诸如 DNS, Network Interface ...原创 2018-08-19 23:24:39 · 519 阅读 · 0 评论 -
libuv学习(五) : Processes
Introduction对于基于事件(event-based)的程序来说, 有个限制是没办法很好地利用多核,提高CPU使用率. 即使能够使用多线程编程来分发 handle, 但是每个 loop 还是只有一个线程.这时候, 使用多进程就能够分担 loop 的压力. 并且通过多进程 + 通信的方法, 会比 多线程 + 共享内存的方法更加安全, 易于开发.创建进程创建子进程创...原创 2018-08-22 21:15:35 · 1803 阅读 · 2 评论 -
libuv学习(四) : Threads
Introduction当下主要有两种流行的线程库: Windows Threads 和 Posix 实现. libuv的thread API类似于 pthread 库.libuv 允许你通过开启线程并且在结束时收集结果来模拟异步操作,而实际上是阻塞操作所以 libuv 提供自己实现的 thread 方法,是为了能够让某些在 loop 中的 handle 能够在独立的线程中运行, 也提...原创 2018-08-21 17:17:53 · 1028 阅读 · 0 评论