
多线程
诺贝尔爱情奖
这个作者很懒,什么都没留下…
展开
-
SimpleDateFormat非线程安全
枝上柳绵吹又少,天涯何处无芳草 类SimpleDateFormat主要负责日期的转换与格式化原创 2018-06-22 00:13:24 · 536 阅读 · 0 评论 -
单例模式与多线程
长乐钟声花外尽,龙池柳色雨中深 单例模式一般分为立即加载和延迟加载,通俗的说就是“饿汉模式”和“懒汉模式”。 立即加载/“饿汉模式”:立即加载就是使用类的时候已经将对象创建完毕,常见的实现办法就是new实例化。 测试代码:public class SingleTest { //立即加载==恶汉模式 private static SingleTest singleTes...原创 2018-06-18 17:09:50 · 1364 阅读 · 0 评论 -
Java中断线程
“结庐在人境,而无车马喧” 在Java中,有3种方式来停止线程:正常退出,就是当run()方法执行完毕;使用stop()方法强行停止,但是这种方法在后来的Java版本中已经被弃用了,因为使用它可能会造成不可预知的结果;使用interrupt()方法中断线程;在这里,我们来看看第三种中断线程方法:MyThread myThread = new MyThread();myT...原创 2018-05-19 11:19:48 · 835 阅读 · 0 评论 -
Java线程的优先级
“黄梅时节家家雨,青草池塘处处蛙” 线程是有优先级的,也就是线程的执行顺序;先来看下对于设置线程优先级的源码: 其中:MAX_PRIORITY和MIN_PRIORITY分别是最高级10和最低级1,当然还有默认级别是5; 接着看下线程优先级的一些特性:线程优先级的继承特性:也就是如果线程A启动线程B,那么线程A和B的优先级是一样的;线程优先级的规则性:即线程会优先级的大小顺序执...原创 2018-05-19 15:19:22 · 8356 阅读 · 0 评论 -
Java线程脏读
亭亭画舸系春谭,直待行人酒半酣 脏读,也就是说你拿到的值不是你想要的.当然数据库中也有脏读的情况出现,那是因为事务的原因.这里不做解释. Java线程中也会出现脏读的现象,示例代码如下:public class ThreadTest { public static void main(String[] args) { try{ A a = n...原创 2018-05-20 10:53:08 · 545 阅读 · 0 评论 -
synchronized锁重入
渔灯暗,客梦回,一声声滴人心碎 “可重入锁”的意思是,自己可以再次获取自己的内部锁,如果线程A获得了某个对象的锁,这个锁还没有被释放,当想再次获得锁的时候还是可以获得的.也就是说,在一个同步代码方法/块里还是可以获取本类的其他同步方法/块. 示例代码:public class ThreadTest { public static void main(String[] args) {...原创 2018-05-20 11:11:20 · 183 阅读 · 0 评论 -
多线程死锁
峨眉山月半轮秋,影入平羌江水流Java线程的死锁一直都是经典的多线程问题;因为不同的线程都在等待根本不可能被释放的锁,从而导致所有的任务都不能继续执行; 示例代码:public class ThreadTest { public static void main(String[] args) { try{ MyThread thread =...原创 2018-05-20 15:14:20 · 299 阅读 · 0 评论 -
多线程Join方法
天意怜幽草,人间重晩晴 如果同时有两个线程,线程A(主线程)和线程B。线程B的执行时间需要5秒,那么在线程A中调用线程B之后(并且让线程B执行完)则需要5秒,这时,你可以这样写A.sleep(5000); //让线程睡5秒但是,如果你不知道线程B需要执行多长时间,并且在A中需要使用到B中的结果,那么,这时你就可以使用join方法;下面是具体的例子;public class...原创 2018-06-09 15:48:22 · 3097 阅读 · 0 评论 -
多线程Condition用法
深知身在情长在,怅望江头江水声 此前,我们知道用synchronized与wait()和notify()/notifyAll()方法结合可以实现等待/通知模式。但是,在使用notify()/notifyAll()方法进行通知时,被通知的线程却是由JVM随机选择的。为了摆脱这种窘境,Java在1.5引入了ReentrantLock和Condition类结合使用来达到有选择性的进行线程通知,在调度线...原创 2018-06-10 14:20:11 · 5301 阅读 · 0 评论 -
线程池
西施越溪女,明艳光云海 最近用线程池和不用线程池做了个速度的测试,在这里备注下: 结果是速度不相上下;public static void main(String[] args) throws Exception { notPool();//非线程池 pool();//线程池}public static void notPool() {...原创 2018-07-11 10:23:30 · 168 阅读 · 0 评论