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中会学下.

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

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

  • 相关阅读:
    [BJOI2015]树的同构 && 树哈希教程
    「HNOI2014」世界树
    CF613D Kingdom and its Cities
    「HEOI2014」大工程
    虚树教程
    [SDOI2011]消耗战
    CF1216E Numerical Sequence
    vim8.1安装
    luoguP5024 保卫王国
    动态DP教程
  • 原文地址:https://www.cnblogs.com/trekxu/p/8969518.html
Copyright © 2011-2022 走看看