zoukankan      html  css  js  c++  java
  • 九.多线程-PDF笔记

    前六章比较基础

    一.线程概述

    二.线程的创建

     (1)1行 创建了一个任务(可以创建多个线程去执行一个任务)。2,3行创建了两个线程去执行这个任务

       实现了Runnable,就是创建了一个任务

    (2)Thread类的两个构造方法:Thread(Runnable target)       Thread(Runnable target,String name)   

       target就是目标任务

    1 MyThread myThread=new MyThread();  //多了步创建继承类的实例对象
    2 Thread thread1=new Thread(myThread,“thread1”);
    3 Thread thread2=new Thread(myThread,“thread2”);

    三.线程的生命周期及状态转换

     四.多线程通信

    通信方式:

    锁与同步,等待/通知机制,信号量,管道,其他通信相关:join(),sleep(),ThreadLocal类,inheritable ThreadLocal

    四.线程的调度

    五.多线程同步

     (1)同步代码块只能有一个线程执行

     1.sleep和wait的区别

    sleep⽅法是不会释放当前的锁的,⽽wait⽅法会。这也是最
    常⻅的⼀个多线程⾯试题。
    它们还有这些区别:

    • wait可以指定时间,也可以不指定;⽽sleep必须指定时间。

    • wait释放cpu资源,同时释放锁;sleep释放cpu资源,但是不释放锁,所以易死锁。

    • wait必须放在同步块或同步⽅法中,⽽sleep可以再任意位置



    2.

  • 相关阅读:
    N、Z、Q、R 分别代表什么
    Android常用代码-监听网络状态
    完整的android use SSL发送邮件
    android 发送邮件相关文章
    Spring RMI的实现原理
    spring+quartz配置
    Quartz配置表达式
    singleton容器
    Spring学习-框架概览
    [Shader2D]漩涡效果
  • 原文地址:https://www.cnblogs.com/midiyu/p/15187077.html
Copyright © 2011-2022 走看看