摘要: 最近在学习nodejs,作为一个从未学过javascript的程序员,把自己学习的过程贴出来,当做记录和总结吧。1、 nodejs的原理: nodejs完全是基于事件轮询机制的一个javascript框架,内部有维护一个事件的队列,每一个事件id对应一个响应函数,进程循环读取队列的事件,调用响应函数进行处理,注册到调用是一个异步过程,其实和c语言里面的注册回调函数,然后调用回调函数的流程一样,整个实现机制比较简单,只是使用js写出来的可能更容易上手。2、nodejs通过模块来实现封装性的,每一个模块就是对一些功能函数和变量的封装,通常写在一个.js文件中,例如: 封装一个做加法和减法运算的模. 阅读全文
posted @ 2013-11-19 23:39 JiangWang 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 通常在涉及到多线程和多进程操作共享数据时候,不可避免的会涉及到公共数据的互斥访问,可能会用到互斥锁,事件,信号量等,然而在使用这些锁机制的同时肯定会降低系统的并发性,同时如果使用不当可能还会造成一些死锁等很让人反感的问题。其实大部分时候可以通过一些细节的设计来避免锁机制,共享数据的互斥访问总的来说可以分为以下两种:1、同时修改先来个例子说明下同时修改数据造成数据不一致的问题:假设有A,B两个进程对共享内存中的变量m = 10进行自加运算,当A进程将变量m = 10从内存读入cpu的寄存器后,这时B进程也将m = 10读入寄存器,那么A进程加运算得到11,B进程也读入10得到11,最终A和B.. 阅读全文
posted @ 2013-11-02 21:26 JiangWang 阅读(4232) 评论(0) 推荐(0) 编辑