一、问题产生 雪崩效应:是一种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程 正常情况下的服务: 某一服务出现异常,拖垮整个服务链路,消耗整个线程队列,造成服务不可用,资源耗尽: 形成过程: 1)服务提供者不可用 a)硬件故障:硬件损坏造成的服务器主机宕机, 网络硬件故障造成的 ...
分类:
其他好文 时间:
2017-04-01 12:26:47
阅读次数:
1313
Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件、数据库、EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题。日志的作用:将运行过程的步骤、成功失败记录下来,将关键性的数据记录下来分析系统问题所在。Log4J。对于网站来讲,不 ...
分类:
编程语言 时间:
2017-02-08 10:37:31
阅读次数:
251
线程模型 我相信这段代码,70%左右的java开发人员,在线程队列执行的线程,线程模型都是这样设计的 我也是,而且这样的代码持续了很多年; 线程执行 Runnable 接口实现,内部封装了任务列表, 线程执行的时候取出队列里面第一个,执行, 之所以加上开始执行时间就是为了检查当前线程对象执行任务的时 ...
分类:
编程语言 时间:
2017-01-20 19:34:16
阅读次数:
266
运维在升级,无聊写博客 最近在实现消息通知平台上面,对于针对不同的通知需要设置优先级,实现当通知队列堵塞的时候可以有限推送高优先级的消息。为了保证通知队列的高效并发,通知队列的消费端是采用多线程并发处理的,因此需要实现一个可以实现优先级的多线程处理逻辑: 对于ThreadPollExecutor来说 ...
分类:
编程语言 时间:
2016-12-27 22:20:19
阅读次数:
292
JavaScript异步编程 深入理解JavaScript事件 ?事件的调度 JavaScript事件处理器在线程空闲之前不会运行 线程的阻塞 结果上看出setTimeout没有使用另一线程 队列 调用setTimeout时,会有一个延时事件排入队列; 输入事件的工作方式完全一样,如单机事件发生时, ...
分类:
编程语言 时间:
2016-12-27 20:29:37
阅读次数:
262
同步,异步,串行,并发 同步和异步代表会不会开辟新的线程。串行和并发代表任务执行的方式。 同步串行和同步并发,任务执行的方式是一样的。没有区别,因为没有开辟新的线程,所有的任务都是在一条线程里面执行。 异步串行和异步并发,任务执行的方式是有区别的,异步串行会开辟一条新的线程,队列中所有任务按照添加的 ...
分类:
移动开发 时间:
2016-11-14 17:49:34
阅读次数:
258
从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。 但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。 或者当前正在被服务的线程需要睡一会,醒来后继续被服务,这就是 ...
分类:
编程语言 时间:
2016-10-17 20:43:04
阅读次数:
142
前言:在上一篇文章中我们讲到了AsyncTask的基本使用、AsyncTask的封装、AsyncTask 的串行/并行线程队列、自定义线程池、线程池的快速创建方式。 对线程池不了解的同学可以先看 Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池 1、Executor ...
分类:
移动开发 时间:
2016-08-12 11:38:48
阅读次数:
173