• 大龄屌丝自学笔记Java零基础到菜鸟033


    多线程的概述、意义、实现方法、优先级、控制、生命周期、安全性,线程安全类

    1、概述

    进程:正在运行的程序,是系统进行资源分配的独立单位。每一个进程都有自己的内存空间和系统资源。

    线程:进程中的单个控制流,是进程的一条执行路径。

    单线程:一个应用程序只有一条执行路径。

    单线程:一个应用程序拥有多条执行路径。

    JVM的启动是多线程的,至少启动了主线程(main)和垃圾回收线程。

    2、意义

    多进程提高CPU的使用率,多线程提高应用程序使用率(抢CPU资源)。

    3、实现方法

    (1)、继承Thread类:自定义类继承Thread,重写run();方法,创建对象,启动线程【th.start();】。

    (2)、实现Runnable接口:自定义类实现Runnable接口,重写run();方法,创建对象,创建Thread对象并传递参数启动线程【new Thread(ru).start();】。

    实现接口方式的好处

    4、优先级

    setPriority(); 。线程的优先级默认为5,范围1~10。

    5、控制

    sleep();

    join();

    yield();

    setDaemon();

    stop();

    interrupt();

    6、生命周期(新建、就绪、运行、阻塞、死亡)

    7、安全性

    多线程可能出现的问题:是否有多线程环境,是否有共享数据,是否有多条语句操作共享数据。

    同步解决线程安全问题:synchronized,如:synchronized(对象【obj】){ 同步的内容【代码块】 }。

    同步的特点

    注意事项:同步解决线程安全问题的关键在【对象】上,该【对象】如同锁的功能,所以多线程必须是同一把锁(同一个【对象】)。

    8、线程安全类

    StringBuffer,Vector,Hashtable。

    Collections类的方法,可以将线程不安全的集合类变为线程安全的集合类。

  • 相关阅读:
    angular js 自定义指令
    web api 解决跨域的问题
    angular 监听ngrepeat结束时间
    redis关闭和启动
    intellij idea快捷键
    mysql连接字符串
    crontab命令格式
    maven中scope属性的
    maven pom文件元素说明
    引入maven以外的jar包
  • 原文地址:https://www.cnblogs.com/liverpool/p/4870324.html
Copyright © 2020-2023  润新知