• 多线程



    一、什么是进程、线程?
    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.独立完成程序的顺序控制 

  • 相关阅读:
    php 获取完整url地址
    Apache Module mod_reqtimeout
    How To Mitigate Slow HTTP DoS Attacks in Apache HTTP Server
    IE8/IE9/IE10打开网页后,自动设置浏览器模式为“IE8/IE9/IE10兼容性视图”
    关于Slow HTTP Denial of Service Attack slowhttptest的几种慢攻击DOS原理
    apache slowloris mod_antiloris for Apache httpd 2.2 / 2.4
    jquery.min.js v1.10.3版本autocomplete方法会在text前添加搜索出多少项的文本信息 要去除
    Tiling_easy version
    "巴卡斯杯" 中国大学生程序设计竞赛
    人见人爱A+B
  • 原文地址:https://www.cnblogs.com/QQW-HH/p/7101128.html
Copyright © 2020-2023  润新知