多线程概念:指的是这个程序(一个进程)运行时产生了不止一个线程 一、多线程的实现方式 继承Thread 实现Runable接口 二、多线程并行与并发 并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。 并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的 ...
分类:
编程语言 时间:
2017-02-27 19:37:28
阅读次数:
192
Bio与Nio区别 BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。 NIO:同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注 ...
分类:
Web程序 时间:
2017-02-16 21:58:45
阅读次数:
423
server: 知识点: 1) // epoll_event 结构 events 域取值 {{{#define EPOLLIN 0x001 // 连接上有数据可读,包括 tcp 连接关闭时收到 FIN 包#define EPOLLPRI 0x002 // 连接上有紧急数据可读#define EPOL ...
server: client: 知识点: 1)服务端的多线程改为select复用来处理多用户。 应该服务器瓶颈是在网络。CPU应该不是瓶颈,如果网络不是瓶颈,想再提高性能,可以考虑增加线程处理。 1.标准输入可以另用线程,从select 分离出去。 2.serverFD的accpet,也可以另用线程 ...
转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 是我目前看到的解释IO模型最清晰的文章,当然啦,如果想要详细的进一步了解还是继续啃蓝宝书吧。 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Bloc ...
分类:
其他好文 时间:
2017-01-17 00:15:16
阅读次数:
275
一、基础1、多任务在单个cpu不能并行,只能是并发,任务来回切。2、临界区:对资源的访问顺序敏感则存在竞态条件。竞态条件发生区叫临界区,写操作产生竞态条件,需要同步。阻塞:仅单线程使用;非阻塞:允许多线程同时进入临界区。3、死锁:由于竞争资源或彼此通信导致阻塞,..
分类:
编程语言 时间:
2017-01-16 14:38:54
阅读次数:
489
如果你想吃一份宫保鸡丁盖饭: 同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊! 同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜一会儿,就回饭馆喊一声:好了没啊! 异步阻塞:遛狗的时候,接到饭馆电话,说饭做好了,让您亲自去拿。 异步非阻塞:饭馆打电话说,我们知道您的位置,一会给你送过来,安心 ...
分类:
其他好文 时间:
2017-01-15 16:54:16
阅读次数:
185
本文转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO ...
分类:
其他好文 时间:
2017-01-09 16:05:02
阅读次数:
187
Future用于获取异步操作的结果,而Promise则比较抽象,无法直接猜测出其功能。 Future Future最早来源于JDK的java.util.concurrent.Future,它用于代表异步操作的结果。 可以通过get方法获取操作结果,如果操作尚未完成,则会同步阻塞当前调用的线程;如果不 ...
分类:
其他好文 时间:
2016-12-28 21:26:44
阅读次数:
1314
1、同步阻塞迭代模型
同步阻塞迭代模型是最简单的一种IO模型。其核心代码如下:bind(srvfd);
listen(srvfd);
for(;;)
{
clifd = accept(srv...
分类:
其他好文 时间:
2016-12-17 14:32:39
阅读次数:
225