zoukankan      html  css  js  c++  java
  • Java学习Day1,多线程处理

    IDEA项目结构

    项目 》 模块 》 包 》类

    成员变量

    this表示本类,super表示父类

    使用

    this.访问变量
    this()访问构造方法
    this.()访问方法

    构造方法

    线程与进程

    进程对应正在运行的应用程序

    线程

    是进程中的执行路径

    • 多线程指一个进程中有多条执行路径
    • 单线程指一个进程只有一条执行路径

    多线程的实现方式

    继承Thread类

    • 定义一个类继承
    • 在类中重写run()方法
    • 创建MyThread类的对象
    • 启动线程
    • void start() 导致线程开始执行;开始调用run方法

    写runnable类

    好处在于可以继承父类,适合多个相同程序的代码去处理同一个资源

    Thread类

    无参构造方法

    Thread () {
        this(null,null,"Thread" + nextThreadNum(),0);
    }
    

    带参构造方法

    Thread(ThreadGroup group,Runnable target,String name,long stackSize)
    

    getName获得名称

    Java使用抢占式调度模型

    • getPriority() 获取优先级
    • setPriority() 设置优先级
    • 优先级在10,1之间,默认为5

    方法

    • sleep(long milis) 使正在进行的线程停留指定的毫秒数
    • join()等待这个线程死亡
    • setDaemon(boolean on) 标记为守护线程。当运行的线程都是守护线程时,java虚拟机退出
    • 获取主线程 Thread.currentThread()

    线程的生命周期

    1. 创建线程对象
    2. start(),获得cpu资格,但没有执行权。
    3. run()结束或用stop()结束,成为垃圾
    4. 若执行过程中被其他线程抢夺。回到2,有资格但没执行权
    5. 若使用sleep等方法,进入阻塞状态。

    线程的随机性

    线程同步

    将多个线程使用的同一个数据锁起来,只允许一个线程执行

    synchronized(任意对象)

    同步方法

    synchronized加到方法上

  • 相关阅读:
    [java核心篇02]__内部类
    iOS学习之MVC,MVVM,MVP模式优缺点
    iOS MVC、MVP和MVVM理解
    网络常见的9大命令
    计算机网络基础知识总结
    iOS面试常见问题和知识点汇总
    NSMutableArray 删除可变数组元素
    iOS之集成GoogleMap定位、搜索注意事项
    iOS 13-Sign In with Apple
    Lipo移除ORC架构
  • 原文地址:https://www.cnblogs.com/lizinuo/p/15331157.html
Copyright © 2011-2022 走看看