使用一个for循环在同一个类中进行多线程处理并使每个线程都显示出来

时间:2016-01-21 23:48:48

标签: java multithreading

我正在尝试创建3个子线程 父线程必须显示1-5个数字, 孩子1必须显示6-10, 孩子2必须显示11-15, 孩子3必须显示15-20 ......

这必须使用父类中的一个for循环和子类中的一个for循环来完成。 C类是父级,D级是子级

    public class C {

    public static void main(String[] args){
    D d = new D();
    System.out.println(Thread.currentThread().getName());

    Thread child1= new Thread(d);
    Thread child2= new Thread(d);
    Thread child3= new Thread(d);

    child1.start();
    child2.start();
    child3.start();


    for(int i=1; i<=5;i++){
        System.out.println("From parent thread: " +i);
    }

}

public class D extends Thread{

public void run(){

    System.out.println(Thread.currentThread().getName());           


}

1 个答案:

答案 0 :(得分:0)

Java为并发编程/多线程(MT)问题提供了一个有趣的解决方案。在&#34; java.concurrent&#34;资产,有一种称为锁的特殊类型的对象。因为你的问题有些模糊(可能是家庭作业),我只能给你一个基本的答案。无论如何,&#34;锁定&#34; object提供了线程与彼此通信所需的工具。我还会看一下代表们(MT问题的常见CS解决方案)。

锁定:https://docs.oracle.com/javase/tutorial/essential/concurrency/newlocks.html