选择器是java NIO中能够检测一到多个NIO通道(Channel),并能知晓是否为诸如读写时间做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接 为什么用Selector 仅用单个线程处理多个Channels的好处就是只需要更少的线程来处理Channel。事实上 ...
分类:
其他好文 时间:
2017-02-20 18:48:55
阅读次数:
209
AsyncTask = Handler + ThreadPoolExcutor 线程池 线程池:如果再来任务的话,队列中的容量放不下了,线程池就会重现创建一个线程处理新来的任务。 如果总线程数量超过128 就会出异常。 ...
分类:
其他好文 时间:
2017-02-17 00:17:43
阅读次数:
149
ThreadLocal 又名线程局部变量,是 Java 中一种较为特殊的线程绑定机制,用于保证变量在不同线程间的隔离性,以方便每个线程处理自己的状态。进一步地,本文以源码为切入点,深入分析了Threa...
分类:
编程语言 时间:
2017-02-15 15:31:30
阅读次数:
248
server: client: 知识点: 1)服务端的多线程改为select复用来处理多用户。 应该服务器瓶颈是在网络。CPU应该不是瓶颈,如果网络不是瓶颈,想再提高性能,可以考虑增加线程处理。 1.标准输入可以另用线程,从select 分离出去。 2.serverFD的accpet,也可以另用线程 ...
服务端: 1)多线程处理客户connect。主线程,处理用户输入,二线程处理accpet,每次有新的connect,就建立新线程处理每个客户端。 2)二线程阻塞在accept,其他新线程阻塞在read。 3)当客户端close。服务端对应线程,read得到0. 之后也进行close(这一部上次实验没 ...
分类:
编程语言 时间:
2017-01-30 18:45:18
阅读次数:
303
NSThread是相对GCD和NSOperationQuene而言,比较轻量级的一种多线程处理方式。 但同时,它的弊端就是需要自己管理线程的生命周期,以及线程同步;而另外两种不需要自己管理。 常见方法介绍: 一、获取当前线程 二、获取主线程 三、NSThread的创建 .静态方法 执行完上面代码后会 ...
分类:
移动开发 时间:
2017-01-21 10:41:01
阅读次数:
266
对于java web而言,一个用户的HTTP请求最终会转换为一条java线程处理。HTTP本身是无状态的,具体的请求逻辑一般也是无状态的。如果进程奔溃或者系统宕机,用户会发觉当前网页不可用之类的错误。...
分类:
其他好文 时间:
2017-01-19 13:00:23
阅读次数:
632
背景:Python脚本:读取文件中每行,放入列表中;循环读取列表中的每个元素,并做处理操作。 核心:多线程处理单个for循环函数调用 模块:threading 第一部分: :多线程脚本 (该脚本只有两个线程,t1循环次数<t2) 以上是脚本内容!!! :读取文件的内容 文件内容: [root@mon ...
分类:
编程语言 时间:
2017-01-12 11:44:36
阅读次数:
562
Selector允许单线程处理多个Channel,能够检测一到多个Channel,并能够知晓通道是否为诸如读写事件做好准备。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 如果你的应用打开了多个连接(通道),但每个连接的流量都很低,使用Selector就会很方便。例如,在一个 ...
分类:
其他好文 时间:
2016-12-29 11:17:48
阅读次数:
188
运维在升级,无聊写博客 最近在实现消息通知平台上面,对于针对不同的通知需要设置优先级,实现当通知队列堵塞的时候可以有限推送高优先级的消息。为了保证通知队列的高效并发,通知队列的消费端是采用多线程并发处理的,因此需要实现一个可以实现优先级的多线程处理逻辑: 对于ThreadPollExecutor来说 ...
分类:
编程语言 时间:
2016-12-27 22:20:19
阅读次数:
292