ThreadPoolExecutor的坑】的更多相关文章

ExecutorService executorService = new ThreadPoolExecutor(0, MAX_THREAD_NUM, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());//FIXME 这里有个坑 这个线程池将没法工作. public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, Tim…
无论是使用jdk的线程池ThreadPoolExecutor 还是spring的线程池ThreadPoolTaskExecutor 都会使用到一个阻塞队列来进行存储线程任务. 当线程不够用时,则将后续的任务暂存到 阻塞队列中,等待有空闲线程来进行. 当这个阻塞队列满了的时候,会出现两种情况 正在运行的线程数量小于 maximumPoolSize,那么还是要创建线程运行这个任务: 正在运行的线程数量大于或等于 maximumPoolSize,那么线程池会通过一个策略进行对后续的任务进行处理. 四种…
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填一次. 思路:大概看了线程相关的一些知识,对线程的运行机制,同步机制,以及整个系统都做一个全面的了解.在深入每一个部分去看一下线程及其相关包的源码做深入了解. 目标:线程,并发包(线程池,并发的数据结构,锁,原子类). 通过一些资料的查看最终把目标定位在线程和并发包上,线程是核心,并发包是辅助工具,…
谁没掉进过几个大坑 记得好久之前,总能时不时在某个地方看到一些标语,往往都是上面一个伟人的头像,然后不管是不是他说的话,下面总是有看起来很政治正确且没卵用的屁话,我活到目前为止,最令我笑的肚子痛得是下面这段标语. 态度决定高度,思路决定出路,细节决定成败,环境决定心境,格局决定结局. 没错,这是一个干过传销的朋友告诉我的. 我来就讲讲思路 上一篇从零开始学 Java - Spring MVC 实现跨域资源 CORS 请求 中使用简单的配置后即可实现跨域请求,但是,我在走向配置成功的路上由于我瞎,…
一入此坑,只想跳楼.我发誓应该不会有第二个人会进这种坑! 问题描述: 总是不能注入dao层,即@Resposity.always!always!always!(尝试了天下之因特网所有的注入方式,都不能尽我之意!) 原错误代码: -- ::)-) | Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name bean whi…
其实这篇应该叫Netty实践,但是为了与前一篇名字保持一致,所以还是用一下坑这个名字吧. Netty是高性能Java NIO网络框架,在很多开源系统里都有她的身影,而在绝大多数互联网公司所实施的服务化,以及最近流行的MicroService中,她都作为基础中的基础出现. Netty的出现让我们可以简单容易地就可以使用NIO带来的高性能网络编程的潜力.她用一种统一的流水线方式组织我们的业务代码,将底层网络繁杂的细节隐藏起来,让我们只需要关注业务代码即可.并且用这种机制将不同的业务划分到不同的han…
出于: androidChina   http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,我遇到的坑都顺利地被填平了. 为了便于日后遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了. 如果你是个 Android 新人,那么我希望这份列表,可以成为你踩到坑时的不完全手册. 当然,这份列表一定会有遗漏…
最近公司对项目安全方面的问题很是重视,进行了多次各种安全漏洞的扫描,于是乎就扫到了mongodb弱口令的问题. 在项目部署初期,因为大家对这个都不是特别重视,大概是因为觉得反正是内网项目吧,所以mongodb数据库的用户名和密码就都是admin. 这次扫到弱口令之后,要求解决这个问题,于是任务便分到了我的头上. 遵循强口令的标准,我把admin改成了由大写字母.小写字母.数字和特殊字符共同组成的密码,但是在更改的过程中却并不像想象的那么顺利,其中遇到的问题我称之为mongodb副本集密码的一些坑…
这一个月我都干了些什么-- 工作上,还是一如既往的写bug并不亦乐乎的修bug.学习上,最近看了一些非专业书籍,时常在公众号(JackieZheng)上写点小感悟,我刚稍稍瞄了下,最近五篇居然都跟技术无关,看来我与本行业已经是渐行渐远了. 所以,趁着这篇博客,重拾自己,认清自己,要时刻谨记我是一名码农.不过,摸着良心说,最近的技术方面也是有所感悟和积累的,比如如何写好设计文档,如何使用延时队列,如何使用防刷技术等等.当然了,今天我们还是沿着"学习Spark"这条路继续走下去. 上篇主要…
递归目录生成器方式, else 里的 tmp 显示获取 yield 不可缺少 , 递归算法中若要使用生成器,需要在生成器的原函数(首次调用)显式得到所有yield值 def get_file_recur(path): children = os.listdir(path) for child in children: qualified_child = os.path.join(path,child) if os.path.isfile(qualified_child): yield quali…