摘要: 第一步 :线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则执行第二步。 第二步 :线程池判断工作队列是否已经满。如果工作队列没有满,则将新提交的任务存储在这个工作队列里进行等待。如果工作队列满了,则执行第三步。 第二步 阅读全文
posted @ 2019-07-11 14:55 一中晴哥威武 阅读(1953) 评论(0) 推荐(0) 编辑
摘要: 输出结果:a, c, d 阅读全文
posted @ 2019-07-11 14:13 一中晴哥威武 阅读(2055) 评论(0) 推荐(0) 编辑
摘要: 先用top定位最耗cpu的java进程 例如: 12430工具:top或者 htop(高级)方法:top -c 显示进程运行详细列表键入 P (大写P),按照cpu进行排序 然后用top -p 12430 -H 定位到最耗cpu的线程 的ID 例如:12483工具:top方法:top -Hp 186 阅读全文
posted @ 2019-07-11 11:28 一中晴哥威武 阅读(1248) 评论(0) 推荐(0) 编辑
摘要: java线程之间的控制,使用Semaphore 实现 互斥 下面我们通过Semaphore来实现一个比较好的互斥操作: 输出结果: 阅读全文
posted @ 2019-07-11 11:18 一中晴哥威武 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 开发中遇到并发的问题一般会用到锁,Synchronized存在明显的一个性能问题就是读与读之间互斥;ReadWriteLock是JDK5中提供的读写分离锁。读写分离锁可以有效地帮助减少锁竞争,以提升系统的性能。 ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。Java并发库中Ree 阅读全文
posted @ 2019-07-11 10:39 一中晴哥威武 阅读(1857) 评论(0) 推荐(0) 编辑