zoukankan      html  css  js  c++  java
  • Java线程(一)

    Thread类  Runnable接口   run 方法

    线程的创建:

    Thread()

    Thread(String name)

    Thread(Runnable target)

    Thread(Runnable target,String name)

    线程的方法:

    启动:void start()

    休眠:

    static void sleep(long millis)

    static void sleep(long millis, int nanos)

    使其他线程等待当前线程终止

    void join() 必须要等待当前线程终止

    void join(long millis)最长等待多长时间

    void join(long millis, int nanos)时间可以精确到纳秒

    当前运行线程释放处理器资源

    static void yield()

    获取线程引用:返回当前运行的线程引用

    static Thread currentThread()

     

     

    如何正确停止JAVA中的线程

    不要用stop()方法,要使用退出标志,如while的停止条件,这样才能使线程完整的执行完并进行清理工作

    线程的互斥:关键数据同一时间只能被一个线程使用

    private final Object lockObj = Object();

    synchronized(lockObj){

    ………………

    }

    线程的同步:是几个线程之间的交互过程,由于某些条件的不具备使得某线程处于等待的状态,在某个时间由于某些条件再次具备,发出消息,唤醒所有线程

    wait()/notify()/notifyAll()  这三个方法属于Object

    线程挑用Object.wait()时会释放掉锁,使得其他线程可以获得锁

    volatile保证线程可以正确的读取其他线程写入的值(可见性问题),如果没有声明volatile有可能因为可见性问题不能正确读到

  • 相关阅读:
    《TZOJ1546》
    css3的基本样式
    PHP连接mysql数据库,并将取出的数据以json的格式输出
    使用ajax获取JSON数据的jQuery代码的格式
    使用构造函数来判断一个对象是数组还是日期
    js(jquery)代码在页面上实时地显示时间
    点分治总结
    线性基,高斯消元总结
    网络流总结
    后缀数组总结
  • 原文地址:https://www.cnblogs.com/atingjia/p/6527103.html
Copyright © 2011-2022 走看看