zoukankan      html  css  js  c++  java
  • 多线程技术总结

    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();
    |--在开发时,可以使用匿名内部类来完成局部的路径开辟。

  • 相关阅读:
    Python 函数基础4 迭代器、生成器、枚举类型
    Python函数基础3 函数对象、名称空间、装饰器
    Python 函数基础2 实参与形参
    Python 函数基础1 定义、分类与嵌套使用
    Python 文件操作
    Python 字符编码、文件操作1
    Python 元组、字典、集合
    python 数据类型及内置方法
    Python 流程控制
    Python 基本数据类型、运算符
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3574947.html
Copyright © 2011-2022 走看看