黑马程序员_多线程中的Lock锁,死锁以及单例设计模式分析
2015-08-24 14:53
225 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流------
1.Lock锁的概述多线程问题之Lock锁
Lock锁包含lock()跟unlock()方法与synchronized()作比较
synchronized 一但用过该锁对象,就会自动释放锁然后让多线程抢占该锁对象,而lock需要加锁与释放锁配合使用
注意如果不释放锁对象,则一单获得锁就一直是同一个线程对象在运行程序
2. 死锁: 是多个线程在抢占CPU的资源的时候,出现了相互等待的状态就叫死锁
3. 线程池
4.
实现多线程的第3种方式
5. 多线程有几种实现方案,分别是哪几种?
答: 有两种 , 第一种定义一个类然后让这个类继承Thread类 , 第二种定义一个类然后让这个类实现Runnable接口
同步有几种方式,分别是什么?
答: 有2中,第一种是使用同步代码块, 第二种使用同步方法
启动一个线程是run()还是start()?它们的区别?
答: 启动一个线程使用的是start方法
run方法中封装的都是要被线程执行的代码,而start方法是启动线程
sleep()和wait()方法的区别
答: sleep方法是使线程进入休眠状态,可以指定休眠的时间
wait()是线程处于等待状态
sleep方法不释放同步锁
wait方法是释放同步锁
6.重点:单例设计模式:
思想: 保证这个类的对象在内存中只有一份
有两种:饿汉式跟懒汉式
(1) 单例设计模式之饿汉式:上来用静态先随着类的加载而加载创建一个对象
(2) 单例设计模式之懒汉式
相关文章推荐
- 黑马程序员——线程Thread一(线程创建)
- 找到一个 准备笔试面试网站 牛客网
- 黑马程序员_IO流之异常处理机制与File类
- 我的《程序员职业规划》
- 黑马程序员_IO流之字节流
- 黑马程序员-------Java笔记-------IO题(常见的2种题型)
- 程序员如何承接软件外包项目
- 黑马程序员--Java的继承和实现
- 面试常问的问题
- 黑马程序员-[OC]学习之旅-NSFileManager、NSNumber、NSDate
- 黑马程序员-------Java笔记-------集合综合题(常考的三种题)
- main函数执行前后 《程序员的自我修养》·笔记
- 最老程序员创业开发实训---30+程序员的希望
- 黑马程序员_IO流之字符流
- 黑马程序员-------Java笔记-------单例模式
- 黑马程序员--Java面向对象
- 黑马程序员_反射与枚举
- 黑马程序员-------Java笔记-------常见概念区别
- 黑马程序员——java基础语法总结
- 黑马程序员--Java集合