多线程总结:

来源:互联网 发布:猿课软件 编辑:程序博客网 时间:2024/05/01 02:51
多线程总结:

1,进程和线程的概念。
    |--进程:
    |--线程:

2,jvm中的多线程体现。
    |--主线程,垃圾回收线程,自定义线程。以及他们运行的代码的位置。

3,什么时候使用多线程,多线程的好处是什么?创建线程的目的?
    |--当需要多部分代码同时执行的时候,可以使用。

4,创建线程的两种方式。★★★★★
    |--继承Thread
        |--步骤
    |--实现Runnable
        |--步骤
    |--两种方式的区别?

5,线程的5种状态。
    对于执行资格和执行权在状态中的具体特点。
    |--被创建:
    |--运行:
    |--冻结:
    |--临时阻塞:
    |--消亡:


6,线程的安全问题。★★★★★
    |--安全问题的原因:
    |--解决的思想:
    |--解决的体现:synchronized
    |--同步的前提:但是加上同步还出现安全问题,就需要用前提来思考。
    |--同步的两种表现方法和区别:
    |--同步的好处和弊端:
    |--单例的懒汉式。
    |--死锁。


7,线程间的通信。等待/唤醒机制。
    |--概念:多个线程,不同任务,处理同一资源。
    |--等待唤醒机制。使用了锁上的 wait notify notifyAll.  ★★★★★
    |--生产者/消费者的问题。并多生产和多消费的问题。  while判断标记。用notifyAll唤醒对方。 ★★★★★
    |--JDK1.5以后出现了更好的方案,★★★
        Lock接口替代了synchronized 
        Condition接口替代了Object中的监视方法,并将监视器方法封装成了Condition
        和以前不同的是,以前一个锁上只能有一组监视器方法。现在,一个Lock锁上可以多组监视器方法对象。
        可以实现一组负责生产者,一组负责消费者。
    |--wait和sleep的区别。★★★★★



8,停止线程的方式。
    |--原理:
    |--表现:--中断。

9,线程常见的一些方法。
    |--setDaemon()
    |--join();
    |--优先级
    |--yield();
    |--在开发时,可以使用匿名内部类来完成局部的路径开辟。
0 0