`
沉沦的快乐
  • 浏览: 56785 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
任务或线程的取消与关闭 在向线程提交任务并且任务开始执行之后,通常任务执行完就自行停止和结束了,但是很多时候,我们希望在任务自行结束之前能提前终止,比如用户进行了取消操作等。具体来说,取消操作分为以下几种: 用户请求的取消操:比如用户按取消按钮,通过管理接口请求取消等; 超时停止:比如请求某个http请求,希望在指定时间还没返回结果时取消任务。 应用程序事件:比如寻找迷宫出口,如果有一个线程找到了出口,那么终止所有寻找出口的任务 运行时错误错误:比如任务在执行过程中出现某种错误,需要提供取消和停止任务线程的策略。 应用程序关闭:比如一个提供web服务的集群,某台机器性能表现非常差 ...
 对象发布(publish)        发布一个对象是使它能够在被当前范围之外的代码所使用。比如创建一个对象之后,提供一个非私有方法返回这个对象的引用,或者把它传递到其他类的方法中。下面是常见的发布对象的例子: 1. ...
     线程同步的风险      使用多线程可以让你充分利用多核处理器的资源,更简单的处理异步事件等。但是多线程有3个非常需要关注和解决的风险:     1.安全性风险:即每一次系统运行的最终结果都是与预期相符的,不 ...
       很多web系统的前端显示模板都用freemrker。由于freemarker没有像java那样方便直观的进行debug调试,开发过程中经常遇到写一些逻辑比较复杂的模板的时候,需要反复的试错修改,每次修改之后都需要部署再验证,导致开发 ...
       在进行java开发的时候,经常遇到需要把数组转换为list结构进行处理。如果自己写一个循环进行数据copy 赋值显得麻烦并且没有必要,因为java.util.Arrays类提供了Arrays.asList方法来把数组转换为List。但是有次进行开发的时候写了下面两行代码: String strVal = "aaa"; List<String> rawValList = Arrays.asList(rawVals)); if (rawValList.contains(strVal)) { rawValList.remove(strV ...
web系统间歇性抽疯问题排查与解决   最近发现维护的web系统经常不定期出现持续时间很短的不可访问的问题(502错误)。问题出现时间不定,持续时间大概在1-2分钟左右。   1.问题定位: 出现问题的第一反应是系统挂了, ...
Global site tag (gtag.js) - Google Analytics