java进阶面试题一

刚刚入门的java小白;久经沙场的大牛们.面试准备吧!

一、Thread类中的静态方法

   1.currentThread()

        currentThread()方法返回的是:对当前正在执行线程对象的引用,线程类的构造方法、静态块是被main线程调用的,2️而线程类的run()方法才是应用线程自己调用的。清楚一点:当前执行的Thread未必就是Thread本身。

例子:

java进阶面试题一_第1张图片

2.sleep(long millis)

sleep(long mills)方法的作用是在指定的毫秒内让当前“正在执行的线程”休眠(暂停执行)。这个正在执行的线程是指的Thread.currentThread()返回的线程。根据JDK API的说法“该线程不会丢失任何监视器的所属权”简单讲就是不让出CPU的资源,CPU还在执行当前线程run()方法中的代码,无非执行的内容是“”java进阶面试题一_第2张图片

java进阶面试题一_第3张图片

3.yield()

暂停当前执行的线程对象,并执行其他线程。这个暂停会放弃CPU资源,但是时间不唯一,也就是说放弃后随时会获得资源。

4interrupted()

测试当前线程是否已经中断,执行后具有将状态标示清除为false的功能。连续两次调用该方法返回的必定是false。

你可能感兴趣的:(java进阶面试题一)