![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
sky425509
这个作者很懒,什么都没留下…
展开
-
CountDownLatch的使用
在一些应用场合中,需要等待某个条件达到要求后才能做后面的事情;同时当线程都完成后也会触发事件,以便进行后面的操作。 这个时候就可以使用CountDownLatch。CountDownLatch最重要的方法是countDown()和await(),前者主要是倒数一次,后者是等待倒数到0,如果没有到达0,就只有阻塞等待了。 CountDownLatch是一个...2013-10-15 13:24:42 · 51 阅读 · 0 评论 -
理解 ThreadPoolExecutor 线程池
一、构造方法及参数说明 java线程池的实现类是java.util.concurrent.ThreadPoolExecutor,常用构造方法:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable>work...原创 2014-04-03 18:05:23 · 113 阅读 · 0 评论 -
java web应用服务器CPU过高原因及解决思路
1、方法中存在读写文件流的操作,高并发时每个请求产生一个文件流,导致系统CPU急增 解决思路: a、使用http://sky425509.iteye.com/admin/blogs/2031391 提到的方法,找出CPU高的java线程 b、从线程栈日志信息中,找出导致CPU高的线程方法 c、读写文件流操作移出方法中,避免每次请求都产生一个文件流 2、方法中使用了多...2014-04-10 16:16:17 · 1201 阅读 · 0 评论 -
多线程基础总结
1、实现 继承Thread 实现Runable 2、启动 Thread.start(),线程的创建涉及操作系统的操作,因此是本地方法。启动线程的run方法将被执行。 3、常用方法 休眠 Thread.sleep(long millis) 让步 Thread.yield() 目的是让相同优先级的线程之间能适当的轮转执行 优先级 Thread.setPr...2015-11-26 16:01:15 · 146 阅读 · 0 评论