• 多线程


    【基于过程和基于线程的区别】

    过程:多个程序  如GUI 

    线程:一个程序共享变量,同一个程序的不同部分, 如servelet

    每个线程可以独立、同时运行

     

    【实现多线程的方法】

    ruunable 具体对象要有start方法+run方法

     

    线程睡眠

    语句:,指定时间单位后睡眠(

     

     

    可能会throw 

     

    maxpriority只是倾向于lean to,不是绝对优先 

    启动子线程时,其优先级设置为等于父线程的优先级
    优先级:MIN_PRIORITY,NORM_PRIORITY,MAX_PRIORITY(分别设置为1,5和10)
    Thread类的方法
    setpriority(int p)
    getpriority()

     

    【线程同步】

     

    控制多个进程访问的共同资源(When the method is invoked, its object will be locked): 用synchronized关键字来同步方法和变量:类似于开锁和解锁

    所有object的内部锁:

    途径:关键字、内部方法 

    【collections集合】

    Q的方要向队列添加元素(也就是入队):q.offer(element)//当q已满时返回false

    要从队列中删除元素(也就是dequeue):q.poll(element)//当q为空时返回false
    如果你想在轮询之前检查:q.peek()//返回元素而不删除
    替代方式
    q.add(element)//当q满时抛出异常**
    q.remove(element)//当q为空时抛出异常**
    q.element()//当q为空时抛出异常**



    LinkedList和ArrayDequeu不是线程安全的,需要在多线程环境中进行同步。

    线程安全的集合类位于java.util.concurrent中。

     生产者消费者模型:

    Qseatter生产者 push, Hotseat消费者 poll

    Q在使用的任何时候都需要被locked

  • 相关阅读:
    记一道有趣的数学题
    BJOI2018 二进制
    BJOI2016 IP地址
    BJOI2016 回转寿司
    BJOI2017 开车
    BJOI2019 光线
    java 下载
    springboot 运行相关命令
    sql mapper 里面 Integer 类型判断
    springboot 访问jar同级别下的文件访问问题
  • 原文地址:https://www.cnblogs.com/immiao0319/p/9950135.html
Copyright © 2020-2023  润新知