摘要: https://www.cnblogs.com/tuhooo/p/7921651.html 阅读全文
posted @ 2019-03-20 17:29 yuange 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 一、乐观锁与悲观锁 悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁 阅读全文
posted @ 2019-03-20 17:28 yuange 阅读(2591) 评论(0) 推荐(2) 编辑
摘要: 一、同步方法 对共享资源进行访问的方法定义中加上synchronized关键字修饰,使得此方法称为同步方法。可以简单理解成对此方法进行了加锁,其锁对象为当前方法所在的对象自身。多线程环境下,当执行此方法时,首先都要获得此同步锁(且同时最多只有一个线程能够获得),只有当线程执行完此同步方法后,才会释放 阅读全文
posted @ 2019-03-20 17:14 yuange 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、Java多线程的阻塞状态与线程控制 1.1join() join 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。 public class ThreadTest { public static 阅读全文
posted @ 2019-03-20 16:20 yuange 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 一、线程的生命周期及五种基本状态 Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状 阅读全文
posted @ 2019-03-20 15:57 yuange 阅读(876) 评论(0) 推荐(0) 编辑
返回顶部