![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程
Leon-Zheng
未来已来
展开
-
Java多线程编程核心技术 阅读笔记
线程的2种实现方式1)继承Thread类;2)实现Runnable接口。几个构造函数:Thread(String name)Thread(Runnable target, String name)这个Runnable也可以传Thread对象,理由是,Thread的定义中,也是实现了Runnable接口。Thread.currentThread()用来获取当前原创 2016-12-14 02:23:55 · 360 阅读 · 0 评论 -
Java 指定线程执行顺序(三种方式)
这里指定线程启动顺序,借鉴高洪岩老师的思路,通过共享对象锁加上可见变量来实现。直接看代码:package extthread;import service.MyService;public class ThreadAA extends Thread { private MyService dbtools; public ThreadAA(MyService dbtools) {原创 2017-03-19 14:10:14 · 35451 阅读 · 8 评论 -
多线程学习01:Semaphore信号量的用法
Semaphore,信号量,是用来控制并发数量的有效手段。通常我们可以把他理解成一个带有固定容量许可的池子。当需要做一件事情,首先需要向池子里申请许可(permit)。当池子中还有空闲许可的时候,可以申请成功,获得许可,意味着可以接下来执行要的事情,否则会阻塞直到获得腾出来的许可。当执行完操作时,需要释放掉许可。申请许可 和 释放许可 对应方法:acquire和release。acquire可原创 2017-05-06 02:53:44 · 514 阅读 · 0 评论 -
单机锁机制在多tomcat实例上有坑
一个tomcat实例上ok,多个tomcat实例部署服务,还会出现冲突。先记录下。原创 2017-07-12 10:41:10 · 457 阅读 · 0 评论 -
Java 使用线程池执行大数据量统计任务
最近需要对每周生成的日志表进行处理,并且输出结果到另一张表。日志表本身至少500万条记录。因此打算用多线程来处理数据。在使用线程池时,几个注意点:1、设置独立的线程名规则,区分自动生成的线程名;2、直接使用ThreadPoolExecutor,而不是借用Executors类生成;3、利用Future的阻塞特性来控制全部线程执行结束的时间点。代码参考: //1.计算原创 2017-08-13 20:51:14 · 8791 阅读 · 0 评论