谁能讲讲锁定非锁定模式和I/O模型的情况,我最高能给100分,谢谢

解决方案 »

  1.   

    1、不知道你所谓的锁定是不是数据同步的概念,如果是的话最常用的莫过于Mutex,该互斥量可以用于进程间的的同步,如果只是用于windows平台,则可以使用临界区,可以提高300倍的性能,但是只能用于线程同步,当然根据应用的需要,还可以使用信号量、事件等实现
    2、i/o模型对于windows来说有很多选择,无外乎同步方式和异步方式,如多于一些慢速设备大多使用异步i/o,如多路复用select(poll), windows推荐的重叠io(i/o overlapped),完成端口是目前win32所提供的最优化异步i/o解决方案对于unix平台来说,为了实现最大的可移植性,多路复用还是最好的选择,因为起异步i/o还没有得到广泛的支持,据说linux2.6提供了epoll可以提高较好的性能,不过没有用过^-^
      

  2.   

    非锁定:
    selest模型
    WSAAsyncSelect消息模型
    WSAEventSelect事件模型
    OVERLAPPED 重叠IO模型
    完成端口模型在http://www.google.com 输入上面的关键字可以找到相关资料。
      

  3.   

    其中OVERLAPPED 模型分事件通知和完成例程。
    《windows 网络编程》 里面有各种模型的介绍,包括锁定模式,可以去买。