如何理解并发编程?

qq_Silence-0°C I/O 模型之 I/O 复用 最后由 极客学院_吕布 于2016年04月12日回复

  • 1 回答
  • 977 浏览

老师,你好,我想咨询一下并发编程的含义:(1)我试过用多线程进行socket编程,编写一个服务器端程序,三个客户端和他进行通信,三个客户端都是及时得到反应。(2)我用select进行socket编程,先注册了监听套接字,然后再注册连接套接字(accept返回的值),最后循环连接socket套接字,但是我发现,三个客户端,只能一个一个的进行通信与服务端,像是串行工作,这种模式 是不是 并发编程?请老师指点!谢谢

  • 极客学院_吕布 2016年04月12日 回答 #1楼
  • 使用Select就可以完成非阻塞,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,效率比一般socket通信效率肯定要高。你开多个线程在多client情况下会十分占用资源

  • 0 评论