IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 ...
分类:
编程语言 时间:
2019-10-23 11:17:19
阅读次数:
85
(1)同步阻塞:等待锁的释放(2)等待阻塞: 1)使用Thread.sleep造成的阻塞:时间结束后自动进入RUNNABLE状态 2)使用Thread.wait造成的阻塞:使用Thread.notify或者Thread.notifyAll唤醒 3)使用Thread.join造成的阻塞:等待上一个线程 ...
分类:
编程语言 时间:
2019-10-21 00:10:43
阅读次数:
382
NIO:同步非阻塞IO 来源:BIO是同步阻塞IO操作,当线程在处理任务时,另一方会阻塞着等待该线程的执行完毕,为了提高效率,,JDK1.4后,引入NIO来提升数据的通讯性能 NIO中采用Reactor设计模式,注册的汇集点为Selector,NIO有三个主要组成部分:Channel(通道)、Buf ...
分类:
编程语言 时间:
2019-10-17 01:35:31
阅读次数:
134
进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。 多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。 一个线程的生命周期 线程是一个动态执行的过程,它也有一个从产 ...
分类:
编程语言 时间:
2019-10-13 23:35:50
阅读次数:
120
Linux上常见的web服务器:apache、nginx、tomcat!其区别如下:apache:模块化服务器,支持模块较多、采用servlet处理模型,同步阻塞模型,工作模式多变,对于高并发的场景处理速度会比较慢,运行稳定。nginx:轻量级web服务器,自身支持模块较少,需要借助第三方模块支持,采用epoll处理模型,异步非阻塞型,适合高并发场景,配置简单。tomcat:apache软件基金会
分类:
Web程序 时间:
2019-10-11 00:44:18
阅读次数:
134
线程的生命周期主要分为五部分: 1.新建状态、2.就绪状态、3.运行状态、4.阻塞状态、5.死亡状态 接下来分别进行说明这几种状态: 新建状态(new):当线程对象创建后即进入了新建状态(如:Thread th= new MyThread();) 就绪状态(Runnable):当调用线程对象的sta ...
分类:
编程语言 时间:
2019-09-23 12:12:12
阅读次数:
84
我看同步阻塞 “你知道什么是同步阻塞吗”,当然知道了。“那你怎么看它呢”,这个。。。在同步阻塞的世界里,代码执行到哪里,数据就跟到哪里。如果数据很慢跟不上来,代码就停在那里等待数据的到来,然后再带着数据一起往下执行。可以说是,代码执行和数据是结伴而行,不离不弃。执子之手与子偕老。让人老感动了。如果还 ...
分类:
其他好文 时间:
2019-09-23 09:53:20
阅读次数:
69
一、MFC网络编程 a)CAsyncSocket用于异步非阻塞类,用UDP通信; b)CAsyncSocket的子类(派生类);Csocket同步阻塞类,用于TCP通信; c)通信前,必须调用AfxSocketInit()进行初始化 二、CAsyncSocket类UDP通信 2.1 服务器端通信步骤 ...
分类:
编程语言 时间:
2019-09-09 22:39:50
阅读次数:
128
BIO NIO AIO BIO(同步阻塞) NIO(同步非阻塞) AIO(异步非阻塞) ...
分类:
其他好文 时间:
2019-09-07 10:49:10
阅读次数:
86
IO操作 同步和异步IO 阻塞和非阻塞IO 同步与异步(线程间调用) 阻塞与非阻塞(线程内调用) 同步与异步调用/线程/通信 四种组合方式 ...
分类:
其他好文 时间:
2019-09-07 10:29:28
阅读次数:
104