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.

  • 相关阅读:
    Redis的探究
    白话插件框架原理
    Jquery文本框值改变事件兼容性
    HDU多校练习第一场4608——I_Number
    0-创建scott数据
    句柄和指针
    openssl编译(VC6.0)
    CrashRpt_v.1.4.2_vs2008_also_ok
    文件转换dll mingw
    qt windows分发工具使用(windoployqt)
  • 原文地址:https://www.cnblogs.com/midiyu/p/15187077.html
Copyright © 2011-2022 走看看