1.缘起:假设我们的系统在运行的过程中,源源不断的有新的任务需要处理(比如订单处理),而且这些任务的处理是相互独立的,没有前后顺序依赖性(顺序依赖性是指,必须在任务A处理结束后才可开始B任务),那么我们就可以使用多个线程来同时处理多个任务。每个处理任务的线程称为“工作者(线程)”。我设计了ESBasic.Threading.Engines.IWorkerEngine工作者引擎,其目的就是使用多个线程来并行处理任务,提高系统的吞吐能力。工作者引擎的形象示意图
系统 2019-08-29 22:15:05 2347
在GoogleGuava10版本引入了EventBus,它主要用来简化我们处理生产/消费者编程模型.基本用法使用Guava之后,如果要订阅消息,就不用再继承指定的接口,只需要在指定的方法上加上@Subscribe注解即可:Java代码publicclassEventListener{publicintlastMessage=0;@Subscribepublicvoidlisten(OurTestEventevent){lastMessage=event.g
系统 2019-08-29 22:13:17 2347
这个是网上找的.importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importandroid.app.Activity;importandroid.content.Context;importandroid.os.AsyncTask;importandroid.os.Bundle;importandroid.os.CountDownTimer;importandro
系统 2019-08-29 22:07:50 2347
如何用好TL-R480+的双WAN口TL-R480+网吧路由器提供了双WAN口设计,但是对于如何使用好这样的设备,用户有不少疑问,我们针对此款路由器中的WAN口设置、WAN口在线检测、流量均衡控制等的设置,作出详细介绍。一、WAN口设置例如:在一个有两条线路的环境中,一条10M的光纤线路,一条2M的ADSL线路。光纤线路使用静态IP设置,在选择WAN口1设置IP地址、DNS服务器后,请注意页面下方的下载带宽设置和上载带宽设置,请填入相关的参数,如下图1所示
系统 2019-08-29 22:07:08 2347
欢迎点击此处订阅本Blog
ArrayList源码分析ArrayList是以数组为基础实现的一个动态数组容器,通过以下的代码分析可知,一方面在ArrayList中添加或者删除元素(除了在数组容器末尾添加或者删除元素),是需要移动大量元素的借助System.arraycopy()来实现拷贝移动,另一方面,由于数组实现基础,可依靠数组下标,可以实现随机访问,当然查找具体的元素,还是需要循环去查找的,再者ArrayList不是thread-safe的,在代码中无论是add,remove,g
系统 2019-08-29 22:02:44 2347
做了个小程序,用来验证Interlocked的效果:上图分别是注释掉“标记1”和“标记2”后的截图,和取消注释后的截图,下面是代码:#include#include#include#include#include#include#includeusingnamespacestd;LONGg=0,flag=0,T=1,F=0
系统 2019-08-12 09:29:51 2347
OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.不管你是做科学研究,还是商业应用,opencv都能够作为你理想的工具库,由于,对于这两者,它全然是免费的。该库採用C及C++语言编写,能够在windows,linux,macOSX系统上面执行。该库的全部代码都经过优化,计算效率非常高,由于,它更专注于设计成为一种用于实时系统的开源库。opencv採用C语言进行优化,并且,在多核机器上面,其执行速度会更快。它的一个目标是提供友好的机器视觉接口函
系统 2019-08-12 09:27:00 2347
几天前配置Eclipse+Heritrix,配了一天头晕脑胀,也没能让它跑起来。确切的说,WebUI登陆就不成功。中间几天想起来就倒胃,于是扔那不睬它忙了些其他的事情。春节晚会的全程都在翻论坛查银行卡和宿舍等资料,差点忘了零点之前回复大量的祝福短信,我真是勤奋……今天大年初一没事做,上午爬起来看看论坛和JUNJIN的反转剧,调节了调节心情,下午接着折腾Heritrix……用Eclipse运行的方法实在很繁琐,网上找的方法在我的机器上总不成功,深刻认识到……
系统 2019-08-12 09:26:53 2347
今天做一个IndexedDB(以下简称IDB)的demo,运行环境是Firefox10。DEMO演示链接(firefox10+only)我们做一个阅读列表的页面,可以让用户把任意网址存入这个阅读列表中,并为每一个网址起一个名字,也可以随时删除,且列表可以按网址自动去重。正如上一篇文章介绍的步骤,我们先初始化数据库,然后建表,然后把添加/删除/读取网址的事件和数据库操作绑定在一起。首先是html代码:_bodyonload="init()">_buttono
系统 2019-08-12 01:54:14 2347