zoukankan      html  css  js  c++  java
  • 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中会学下.

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

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

  • 相关阅读:
    vs快速添加引用解析的快捷键
    Linux内核调试技术——kprobe使用与实现
    Linux内核调试技术——kretprobe使用与实现
    Linux内核调试技术——jprobe使用与实现
    【HTTP协议】---HTTP协议详解
    雪崩效应
    Shell中IFS用法
    shell中for循环,读取一整行
    BCD码
    pam模块日志怎么输出
  • 原文地址:https://www.cnblogs.com/trekxu/p/8969518.html
Copyright © 2011-2022 走看看