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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宗士为 中级黑马   /  2012-5-10 08:20  /  1410 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求明白人举例解释下  下面这个构造方法怎么用
看了半天API没看懂
Thread
public Thread(ThreadGroup group,
              Runnable target,
              String name,
              long stackSize)

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

8 个回复

倒序浏览
public Thread(ThreadGroup group,//需要一个线程组 对象
               Runnable target,//需要一个Runnable接口的子类实例
               String name,//需要一个String类型的变量
               long stackSize)//需要一个长整型的变量
回复 使用道具 举报
能否举个例子
回复 使用道具 举报
宗士为 发表于 2012-5-10 08:41
能否举个例子

刚刚在APIdoc看的 :分配新的 Thread 对象,以便将 target 作为其运行对象,将指定的 name 作为其名称,作为 group 所引用的线程组的一员,并具有指定的堆栈尺寸
————还有你的标题是有关"String的构造这明显是线程的构造吗"
回复 使用道具 举报
这个方法我们很少直接用,源码里面有很多,给你找一个,你看一下:
类:TimerQueue
synchronized void start() {
        if (running) {
            throw new RuntimeException("Can't start a TimerQueue " +
                                       "that is already running");
        }
        else {
            final ThreadGroup threadGroup =
                AppContext.getAppContext().getThreadGroup();
            java.security.AccessController.doPrivileged(
                new java.security.PrivilegedAction() {
                public Object run() {
                    Thread timerThread = new Thread(threadGroup, TimerQueue.this,
                                                    "TimerQueue");
                    timerThread.setDaemon(true);
                    timerThread.setPriority(Thread.NORM_PRIORITY);
                    timerThread.start();
                    return null;
                }
            });
            running = true;
        }
    }
回复 使用道具 举报
在类Executors中:
    /**
     * The default thread factory
     */
    static class DefaultThreadFactory implements ThreadFactory {
        static final AtomicInteger poolNumber = new AtomicInteger(1);
        final ThreadGroup group;
        final AtomicInteger threadNumber = new AtomicInteger(1);
        final String namePrefix;

        DefaultThreadFactory() {
            SecurityManager s = System.getSecurityManager();
            group = (s != null)? s.getThreadGroup() :
                                 Thread.currentThread().getThreadGroup();
            namePrefix = "pool-" +
                          poolNumber.getAndIncrement() +
                         "-thread-";
        }

        public Thread newThread(Runnable r) {
            Thread t = new Thread(group, r,
                                  namePrefix + threadNumber.getAndIncrement(),
                                  0);
            if (t.isDaemon())
                t.setDaemon(false);
            if (t.getPriority() != Thread.NORM_PRIORITY)
                t.setPriority(Thread.NORM_PRIORITY);
            return t;
        }
    }
回复 使用道具 举报
在类Executors中:
    /**
     * The default thread factory
     */
    static class DefaultThreadFactory implements ThreadFactory {
        static final AtomicInteger poolNumber = new AtomicInteger(1);
        final ThreadGroup group;
        final AtomicInteger threadNumber = new AtomicInteger(1);
        final String namePrefix;

        DefaultThreadFactory() {
            SecurityManager s = System.getSecurityManager();
            group = (s != null)? s.getThreadGroup() :
                                 Thread.currentThread().getThreadGroup();
            namePrefix = "pool-" +
                          poolNumber.getAndIncrement() +
                         "-thread-";
        }

        public Thread newThread(Runnable r) {
            Thread t = new Thread(group, r,
                                  namePrefix + threadNumber.getAndIncrement(),
                                  0);
            if (t.isDaemon())
                t.setDaemon(false);
            if (t.getPriority() != Thread.NORM_PRIORITY)
                t.setPriority(Thread.NORM_PRIORITY);
            return t;
        }
    }
回复 使用道具 举报
你问的问题跟你给的代码,一点关系都没有,是不是想来随便混技术分啊?

你给的明明是Thread的构造方法。
回复 使用道具 举报
你问的问题跟你给的代码,一点关系都没有,是不是想来随便混技术分啊?

你给的明明是Thread的构造方法。

希望楼上问问题的那个哥们认真点!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马