zoukankan      html  css  js  c++  java
  • java 线程有哪些方法

    1.start() 启动

    2.isAlive() 是否活动这,只有在start之后,在run方法走完之后,是true

    3.state() 线程状态

    4.getPriority()  获取线程优先级,默认是5,线程默认优先级为5,如果不手动指定,那么线程优先级具有继承性,比如线程A启动线程B,那么线程B的优先级和线程A的优先级相同

    5.setPriority() CPU会尽量将执行资源让给优先级比较高的线程。 

    6.setDaemon 设置守护线程 比如在主线程里面开启一个thread,然后设置thread线程是守护线程(在start之前设置这个属性),比如在thread里面有一个while(true)循环,等主线程结束之后,我们的thread也会结束,这个thread就叫守护线程。

    7.interrupt 开始以为是会让线程中断,测试之后,调用之后,线程并没有中断。 如果在线程里面有阻塞的话,他就是提示报错。如果线程里面没有阻塞的话,他设置interrupt没有任何作用

    8.join()  方法的作用是等待线程销毁。join()方法反应的是一个很现实的问题,比如main线程的执行时间是1s,子线程的执行时间是10s,但是主线程依赖子线程执行完的结果,这时怎么办?可以像生产者/消费者模型一样,搞一个缓冲区,子线程执行完把数据放在缓冲区中,通知main线程,main线程去拿,这样就不会浪费main线程的时间了。另外一种方法,就是join()了

    join(int) 等待线程时间。超过这个时间就不等了。

    静态方法

    getName()获取线程名称 在构造方法里面和在run方法里面都打印了线程名称,最后这边显示第1个是main的名称,在run里面才是线程名称。

    sleep(long)当前线程 暂停执行

  • 相关阅读:
    周鸿祎谈程序员创业
    ESP8266-iot-3
    ESP8266文档阅读ESP8266 SDK 入门指南
    ESP8266文档阅读2A-SDK-Espressif IoT SDK 使用手册v1.0.1.pdf
    ESP8266-iot-2
    ESP8266-iot-简介1
    yum安装mysql
    CentOS安装MySQL详解 转
    centOS7永久关闭防火墙(防火墙的基本使用(转)
    linux下composer安装
  • 原文地址:https://www.cnblogs.com/tangwangming/p/8809269.html
Copyright © 2011-2022 走看看