
多线程并发
文章平均质量分 73
查无此人1233
这个作者很懒,什么都没留下…
展开
-
多线程核心技术-单例模式
单例模式在设计模式中比较常见,在多线程访问的时候容易出现线程不安全的隐患懒汉式(延迟加载)/饿汉式(立即加载)直接给出双检查锁单例模式public class Singleton { private static Singleton instance; private Singleton (){ } public static Sing...原创 2018-03-08 13:55:00 · 214 阅读 · 0 评论 -
多线程核心技术-Timer
JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务。Timer类的主要作用就是设置计划任务,但封装任务的是TimerTask类,执行计划任务的代码要放入TimerTask的子类中。1.schedule(TimerTask task,Date timer);MyTaskpublic class MyTask extends TimerTask{ @Ove...原创 2018-03-08 13:39:47 · 290 阅读 · 0 评论 -
多线程核心技术-Lock
(一)ReentrantLock多线程中可以使用synchronized来进行线程同步互斥,在jdk1.5之后引入了ReentrantLock类,不仅可以实现synchronized的功能,还进行了拓展,下面简单写个DemoMyServicepublic class MyService { private Lock lock = new ReentrantLock(); // ...原创 2018-03-07 20:00:40 · 188 阅读 · 0 评论 -
多线程核心技术-线程间通信
1.等待&通知(wait&notify)机制:wait()方法可以使调用该方法的线程释放共享资源的锁,然后从运行状态退出,进入等待队列,直到再次被唤醒。notify():方法可以随机唤醒等待队列中等待同一共享资源的一个线程,并使该线程退出等待队列,进入可运行状态,也就是notify()仅通知一个线程(notifyAll()可以通知同一个共享资源的全部线程)ThreadApublic...原创 2018-03-06 19:21:53 · 374 阅读 · 0 评论 -
多线程核心技术-并发访问对象&变量
变量的线程安全只会发生在实例变量,而方法内部的变量永远线程安全synchronized关键字:可进行方法锁,块锁,它的特性如下1.多个对象多个锁,创建多个对象实例,调用synchronized方法,不同步2.加锁方法和不加锁方法不影响,但所有加锁的方法会同步串行执行:例如方法A加锁,B不加锁,C加锁,线程A访问方法A期间,线程B可以访问方法B,但线程C需要等待线程A执行完方法A才能访问方法C3.锁...原创 2018-03-06 19:16:51 · 290 阅读 · 0 评论 -
多线程核心技术-多线程技能
1)创建线程的方法:继承Thread,实现Runnable注意:实例变量与线程安全2)具体方法:isAlive:判断线程状态,进入准备生命周期的线程返回truesleep:睡眠,需要跑出interrupt异常以便线程打断抛出interrupt:打断线程,并不是真的打断,只是做标记,可在线程run方法中判断标记决定是否继续执行,可与return配合使用(不建议,如果有其他业务上的return容易混淆...原创 2018-03-06 19:12:07 · 210 阅读 · 0 评论