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.

  • 相关阅读:
    android进度条
    编解码器的学习笔记(十):Ogg系列
    logcat使用
    KNN算法的理解
    Ewebeditor最新漏洞和漏洞指数
    HDU 4945 2048(DP)
    喜大本\ u0026普,微软的开源
    Problem A: Artificial Intelligence?
    Response.Redirect 打开这两种方法的一种新形式
    java Map 之 排序(key,value)
  • 原文地址:https://www.cnblogs.com/midiyu/p/15187077.html
Copyright © 2011-2022 走看看