zoukankan      html  css  js  c++  java
  • 多线程的相关知识点梳理

    一:多线程的两种方式

    1.线程与进程

      进程是一个执行的程序

      线程则是属于进程的一个控制单元。

    2.多线程的第一种方式

      继承Thewad类。

      run的作用:多线程存储程序的地方

      start的作用:开启线程,同时,调用run方法。

    3.第一种方式的线程程序

      

    4.第二种方式,实现接口

      .

    5.两种方式的比较

      第二种方式:避免了单继承的局限性。

       两种方式的线程代码存放位置不同:

        继承Thread的线程代码放在Thread的子类run的方法中。

        实现Runnable,线程代码存在接口的子类的run方法中。

    二:多线程的安全问题

    6.同步代码块

      

    7.同步函数

      使用的锁是this。

      

    8. 使用同步函数实现卖票程序

      需要把要同步的代码另外移植到一个函数中,因为,直接在函数上同步上,while不会跳出来,就是说一个线程一直运行到底。

      

    9.静态同步函数的锁

      静态进入内存后,内存没有本类对象,但是一定该类对应的字节码文件对象

      类名.class。

    10.懒汉式单例模式下的线程安全

      

    11.死锁程序

      两个锁互相锁。

      

      

    三:通讯

    12.单线程间通讯

      

      

      

    13.单线程间通讯的优化

      一些方法可以放在Resource中。

      

      

      

    14.多线程间多通讯

      

      

      

    15.同步的lock锁的使用

      

      

      

    16.守护进程

      主进程结束后,其他前程也跟着结束

      

    17.停止进程

      

    18.join方法。

      

      

      

      

  • 相关阅读:
    第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-2 session的基本原理与create命令的使用
    第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-1 zookeeper常用命令行操作
    3-3 zookeeper的作用体现
    3-2 zk客户端连接关闭服务端,查看znode
    Python(2.7.6) glob
    SonarQube(5.0.1) 环境的安装配置
    Maven(3.0.5) 环境的安装配置
    Linux 命令
    Linux
    Python(2.7.6) copy
  • 原文地址:https://www.cnblogs.com/juncaoit/p/5997779.html
Copyright © 2011-2022 走看看