黑马程序员技术交流社区

标题: 分享多线程的有关总结知识 [打印本页]

作者: mz585858    时间: 2016-6-8 19:22
标题: 分享多线程的有关总结知识
一.实现线程的三种方式:
        1).继承Thread类
        2).实现Runnable接口;
        3).实现Callable接口;
二.线程中常用的方法:
        1).getName()/setName():获取/设置线程名称;
        2).sleep():当前线程休眠指定毫秒;
        3).currentThread():获取当前正在执行的线程;
        4).start():启动线程;
三.线程的状态图:
        1).新建-->就绪-->运行(阻塞)-->死亡;
        2).当调用线程start()方法启动线程时,会立即执行线程的run()方法,这种说法是否正确?
           当线程的sleep()方法时间到时,会立即恢复运行,这种说法是否正确?
四.同步的三种方式:
        1).同步方法:
                public synchronized void show(){
                }
           注:
                1.静态方法可以被同步;
                2.静态方法中可以包含同步代码块;
        2).同步代码块:
                synchronized(被锁的对象){
                }
        3).JDK5的Lock锁:
                Lock lock = ....;
                lock.lock();//加锁
                try{
                   //同步代码
                }finally{
                   lock.unlock();//释放锁
                }
五.死锁:避免死锁的情况;





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2