之前计算机操作系统理论课中学过相关的东东,但工作后都忘记了,总结一下java中的线程相关理论状态 先上图: 各个状态说明: 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得 ...
分类:
编程语言 时间:
2017-04-25 13:20:21
阅读次数:
135
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非J ...
分类:
其他好文 时间:
2017-04-25 10:17:46
阅读次数:
134
1. 常见的Socket模型
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:
(1)同步阻塞IO(Blocking IO):即传统的IO模型。
(2)同步非阻塞IO(Non-bloc...
分类:
其他好文 时间:
2017-04-21 10:08:22
阅读次数:
209
背景知识点我 1. BIO JDK5之前, JDK的IO模式只有BIO(同步阻塞)问题: 因为阻塞的存在, 需对每个请求开启一个线程. 过多的线程切换影响操作系统性能解决: 使用线程池, 处理不过来的放入队列, 再处理不过来的会触发其他机制问题: 超过线程池数量的请求需要等待 服务端1: 一个请求~ ...
分类:
其他好文 时间:
2017-04-17 21:07:18
阅读次数:
202
1) 同步阻塞IO(Blocking IO)2) 同步非阻塞IO(Non-blocking IO)3) IO多路复用(IO Multiplexing)4) 异步IO(Asynchronous IO) 注意以下概念: 1.同步/异步 同步和异步区分了请求与响应的交互中, 获取响应的方式同步: 请求某种 ...
分类:
其他好文 时间:
2017-04-17 09:53:47
阅读次数:
248
一个应用程序至少有一个进程,一个进程至少有一个线程. 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上 ...
分类:
编程语言 时间:
2017-04-14 18:50:03
阅读次数:
267
1.使用同步阻塞调用: 需要自己创建线程,否则会报主线程使用网络的error; 2.使用非阻塞异步调用: 1.返回的Response,response.body().string()获取json只能使用一次,之后就会释放掉; 3.返回的Response实在子线程,需要自己再处理回到主线程更新页面; ...
分类:
Web程序 时间:
2017-04-11 13:29:41
阅读次数:
416
OkHttp3 有两种运行方式: 1.同步阻塞调用并且直接返回; 2.通过内部线程池分发调度实现非阻塞的异步回调; 下面讲的是非阻塞异步回调,OkHttp在多并发网络下的分发调度过程,主要是Dispatcher对象: 多线程:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元 ...
分类:
Web程序 时间:
2017-04-10 23:11:26
阅读次数:
466
缺点:一个线程只能处理一个客户端连接 服务端: 事务处理线程: 客户端: ...
分类:
编程语言 时间:
2017-03-12 19:42:19
阅读次数:
148
gearman中任务的优先级和返回状态 一、任务的优先级 同步阻塞调用,等待返回结果 异步派发任务,不等待返回结果,返回任务句柄,通过该句柄可获取任务运行状态信息 注意Task和doXXX区别,Task是一组job,派发后会分配到多个worker上并行执行并返回结果给调用方。而doXXX的每个任务只 ...
分类:
其他好文 时间:
2017-03-12 14:58:50
阅读次数:
319