• java多线程学习三


    本章主要学习线程的静态方法

    1、先忙先看一段代码:

    public class MyThread3 implements Runnable {
    
        static {
            System.out.println("static方法打印:"+Thread.currentThread().getName());
        }
    
        public MyThread3(){
            System.out.println("购置方法打印:"+Thread.currentThread().getName());
        }
    
        @Override
        public void run() {
            System.out.println("run方法打印:"+Thread.currentThread().getName());
        }
    }

    运行结果:

    static方法打印:main
    购置方法打印:main
    run方法打印:Thread-0

    以上可以看出:线程类的构造方法、静态块是被main线程调用的,而线程类的run()方法才是应用线程自己调用的。

    2、sleep()

    sleep(long millis)方法的作用是在指定的毫秒内让当前"正在执行的线程"休眠(暂停执行)。这个"正在执行的线程"是关键,指的是Thread.currentThread()返回的线程。根据JDK API的说法,"该线程不丢失任何监视器的所属权",简单说就是sleep代码上下文如果被加锁了,锁依然在,但是CPU资源会让出给其他线程。

    3、wait()使线程停止运行,notify()使停止运行的线程继续运行

  • 相关阅读:
    C语言指针和数组
    C语言malloc、calloc函数
    33、二叉树的后序遍历序列
    进程、线程、协程
    8、字符串转整数
    51、数组中的逆序对
    49、丑数
    19、正则表达式匹配
    32、从上到下打印二叉树
    leetcode5:最长回文子串
  • 原文地址:https://www.cnblogs.com/bestxyl/p/8709923.html
Copyright © 2020-2023  润新知