A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个线程在运行时发生异常会怎样?
答:如果这个异常没有被捕获,这个线程将会停止运行。

什么是线程组?
答:ThreadGroup类,可以把线程归属到某一个线程组中,线程组中可以有线程对象, 也可以有线程组,组中还可以有线程,它的组织结构有点类似于树,但是它使用起来不安全。

Java中的volatile变量是什么?
答:volatile变量是java语言提供的一种稍弱的同步机制,它可以用来确保将变量的更新操作通知到其他的线程。

怎么检测一个线程是否拥有锁?
答:在 java.lang.Thread中有一个方法叫holdsLock(),如果当且仅当当前线程拥有某个具体对象的锁时,它会返回true。

有三个线程T1,T2,T3,怎么确保它们按顺序执行?
答:用线程类的join()方法在一个线程中启动另一个线程,参考代码如下:

public class TestMain {
    public static void main(String[] args) throws Exception {
        Thread T1 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("我是T1");
            }
        });
        Thread T2 = new Thread(new Runnable() {
            @Override
            public void run() {
                T1.start();
                try {
                    T1.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("我是T2");
            }
        });
        Thread T3 = new Thread(new Runnable() {
            @Override
            public void run() {
                T2.start();
                try {
                    T2.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("我是T3");
            }
        });
        T3.start();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
什么是原子操作?
答:原子操作是指一个不受其他操作影响的操作任务单元,比如i++就不是原子操作。

什么是synchronized关键字?
答:可参考本篇博客【synchronized关键字简析】

什么是线程池?
答:可参考本篇博客【简单了解线程池】

说说线程池创建的几种方式,以及最佳方式?
答:可参考本篇博客【为什么推荐使用ThreadPoolExecutor来创建线程池】

说说wait()和sleep()的区别?
答:可参考本篇博客【说说wait()和sleep()的区别】


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马