请问多线程技术和非阻塞I/O技术的含义,原理以及如何实现?
我有个东西是用 多线程技术和非阻塞I/O技术 实现的,想详细了解其原理,请专家们指点。
如何实现的可以不用代码解释。
谢谢各位!

解决方案 »

  1.   

    StartScan 线程完成的任务是启动具体的扫描DoScanPort线程;
    DoScanPort线程负责具体扫描指定的端口;
      

  2.   

    请问多线程技术和非阻塞I/O技术的含义,原理以及如何实现? 
    题目太大了.
    多线程技术好理解.
    非阻塞IO技术 有多种模式,比如 用select, 用WSAAsyncSelect, 用WSAEventSelect, 用IOCP等.
    内容很多,多看看就会了解了.
      

  3.   

    在默认情况下,应用程序一般采用同步I/O,例如程序要读磁盘时,系统要向磁盘驱动器发送一系列命令,然后等待驱动器在磁盘上读取数据,数据准备好后,由驱动器发出中断信号,系统再把数据从驱动器缓存传输到内存中,在此过程中,线程一直处于等待状态。在线程的等待过程中,系统会把处理器资源分配给其它线程,如果所有线程都处于等待状态,则处理器“空闲”,如果应用程序创建了多个线程,则一个线程处于等待状态时,其它线程可以做另外的工作,从而提高运行效率。如果采用异步I/O,同样以读磁盘为例,系统向磁盘驱动器发送命令之后从函数中返回,线程可以继续执行其它代码,从而避免等待而浪费时间,当驱动器准备好数据后,同样发出中断信号,系统把数据读到内存,然后触发事件,应用程序可以通过检查或等待事件的状态来得知数据已经读出,然后来处理数据。
      

  4.   

    非阻塞IO技术我用的是 select
    我用的端口扫描器应该是同步I/O吧
      

  5.   

    select比较好用
    建议好好学学
      

  6.   

    和select比起来epoll如何?