zoukankan      html  css  js  c++  java
  • 多线程


    一、什么是进程、线程?
    1、 进程(process)是程序的一次动态执行过程
    2、线程是程序中最小的执行运算单位,可完成一个独立的顺序控制流程,
    3、每一个程序之中必须至少有一个线程这个线程称之为主线程,如果同时运行了多个线程则称之为多线程
    他是产生其他子线程的线程,通常它必须最后完成执行,因为会执行各种关闭动作
    4、public static void main() 方法是Java主线程的入口

      
    二、线程的状态
    1.创建状态 (Runable)run()实现数据输出
    2.就绪状态     3.运行状态 (已启动的线程对象不能再次调用start()方法否则会抛出lllegaThreadStateException)
    4.阻塞状态     5.死亡状态 run()运行完毕     6.join(方法使当前线程暂停执行)
    7.Thread.sleep()实现线程的暂时休眠      8.yield()可以暂停当前线程执行 


    三、.线程同步以及多线程数据共享引发的问题
    1.线程同步(1、同步线程的方法 2、同步代码块)使用关键字synchronized
    2.线程安全类型         hashtable                           HashMap  
                                  实现Map接口                  实现Map接口
                               继承了 Dictionary          继承了AbstactMap
                        安全效率低不允许空null键值    不安全效率高允许空null键值
                                   操作效率低            操作效率高
                                  StringBuffer           StringBuilder
                               存储字符串变量         存储字符串变量
                                    线程安全            非线程安全
                                 多线程效率高              单线程效率高

    四、多线程的优缺点
    1.充分利用CPU资源    2.简化编程模型    3.良好的用户体验    4.独立完成程序的顺序控制 

  • 相关阅读:
    [编程题] 数组中的重复数字
    Redis数据结构之集合命令
    Redis数据结构之字符串命令
    Docker安装mysql
    后缀数组与字符串匹配
    牛客小白月赛11 Rinne Loves Edges
    牛客小白月赛11 Rinne Loves Xor
    牛客练习赛39 B.选点
    欧拉函数
    51 Nod 1700 首尾排序法
  • 原文地址:https://www.cnblogs.com/QQW-HH/p/7101128.html
Copyright © 2011-2022 走看看