问题描述
各位大虾们 现在我已经创建了以个线程A。 我还想用这个线程A创建另外的一个线程b。 可以这样理解:线程b是由线程A创建的。 这样的话,线程b可以创建吗? 有没有代码可以参考的?[color=darkred][/color]
解决方案
首先,线程可以继续创建线程.给你看个例子:public class SimpleThreads {// Display a message, preceded by the name of the current threadpublic static void threadMessage(String message) {String threadName = Thread.currentThread().getName();System.out.format("%s: %s%n", threadName, message);}public static void main(String args[]) throws InterruptedException {Thread t = new Thread(new TestThread());t.start();}}class TestThread implements Runnable {private static int depth = 0;@Overridepublic void run() {SimpleThreads.threadMessage("Thread Start");SimpleThreads.threadMessage("Depth= " + depth);if (depth < 5) {depth++;new Thread(new TestThread()).start();}try {Thread.sleep(4000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}SimpleThreads.threadMessage("Thread END");}}例子里的TestTread就通过自己反复创建子线程.应该看的比较清楚了.输出是:引用Thread-0: Thread StartThread-0: Depth= 0Thread-1: Thread StartThread-1: Depth= 1Thread-2: Thread StartThread-2: Depth= 2Thread-3: Thread StartThread-3: Depth= 3Thread-4: Thread StartThread-4: Depth= 4Thread-5: Thread StartThread-5: Depth= 5Thread-0: Thread ENDThread-1: Thread ENDThread-2: Thread ENDThread-3: Thread ENDThread-4: Thread ENDThread-5: Thread END
解决方案二:
你创建的那个线程A其实就是从main这个主线程创建的。