003 Thread的构造

Posted 最爱五仁月饼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003 Thread的构造相关的知识,希望对你有一定的参考价值。

一 .Thread的构造

  首先看下源码 :   

    public Thread() {
        init(null, null, "Thread-" + nextThreadNum(), 0);
    }

我们可以看到Thread的构造使用了init()函数.

通过这个函数,Thread的构造就出现了多种.我们就需要理解一下init的方法.

    private void init(ThreadGroup g, Runnable target, String name,
                      long stackSize) {
        init(g, target, name, stackSize, null);
    }

我们可以看到这个四个参数的含义了

[1]线程组

[2]线程的逻辑单元

[3]线程的名字

[4]线程的栈大小


二 .线程的名字

Thread在创建的时候会指定一个名字,同时我们也能为一个线程指定一个名字.

默认情况下: 线程的名字为 Thead -数量 这样的名字.

    public static void main(String[] args) {
        Thread thread = new Thread(new Runnable() {
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        }) ;
        thread.setName("trek");
        thread.start();
    }

此处我们为线程指定了一个特定的名字.


 

三 线程组

[1] 如果一个线程没有声明一个线程组,那么它的线程组就是其父线程所在的线程组.

[2]main线程的线程组为main,


 

四 . 线程的stackSize

决定线程栈的大小,这个概念在JVM中会学下.

如果没有使用这个参数,虚拟机会默认给出一个大小.

这个参数在一些平台是无效的,因此我们一般不需要指定这个参数.

 

以上是关于003 Thread的构造的主要内容,如果未能解决你的问题,请参考以下文章

python高性能编程--003--线程之Thread和threading

[新增EA003考勤系统演示片段]全程字幕-22套UML+Enterprise Architect建模示范视频

NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段

在 Visual Studio 中创建构造函数的代码片段或快捷方式

多线程 Thread 线程同步 synchronized

Thread构造函数?