2018年10月9日
摘要: Lock锁机制是JDK 5之后新增的锁机制,不同于内置锁,Lock锁必须显式声明,并在合适的位置释放锁。Lock是一个接口,其由三个具体的实现:ReentrantLock、ReetrantReadWriteLock.ReadLock 和 ReetrantReadWriteLock.WriteLock 阅读全文
posted @ 2018-10-09 08:32 李超c 阅读(159) 评论(0) 推荐(0)
摘要: Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newS 阅读全文
posted @ 2018-10-09 08:24 李超c 阅读(135) 评论(0) 推荐(0)
  2018年10月6日
摘要: 为了解决并发操作可能造成的异常,java的多线程支持引入了同步监视器来解决这个问题,使用同步监视器的通用方法就是同步代码块。其语法如下: synchronized(obj){ //同步代码块 } 其中obj就是同步监视器,它的含义是:线程开始执行同步代码块之前,必须先获得对同步监视器的锁定。任何时刻 阅读全文
posted @ 2018-10-06 21:48 李超c 阅读(210) 评论(0) 推荐(0)
摘要: 同步锁使用的弊端:当线程任务中出现了多个同步(多个锁),如果同步中嵌套了其他的同步。这时容易引发一种现象:程序出现无限等待,这种现象就是我们所谓的死锁,这种情况能避免就避免。 /** * *创建锁对象 * */public class Lock { //这里用private封装,为了不让外面随便造锁 阅读全文
posted @ 2018-10-06 21:28 李超c 阅读(124) 评论(0) 推荐(0)
摘要: 多线程是指从软件或者硬件上实现多个线程并发执行的技术。 在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。 主要用途:在大多数研究领域内是要求线程调度程序要能够快速选择其中一个已就绪线程去运行,而不是一个一个运行而降低效率。所以要让调度程序去分辨 阅读全文
posted @ 2018-10-06 19:06 李超c 阅读(144) 评论(0) 推荐(0)
  2018年7月19日
摘要: switch关键字接上(需要循环判断的变量) { 需要循环判断的变量值: 需要执行的语句; break;//表示变量满足此条件,并且执行完对应的语句之后,跳出循环。否则代码会继续向下执行,知道遇到break跳出循环,否则其他判断条件的程序也会被执行。 ...... default: 需要执行的语句; 阅读全文
posted @ 2018-07-19 16:13 李超c 阅读(85) 评论(0) 推荐(0)