java - 在一个线程中实现多个线程最有效的方法是什么?

标签 java multithreading concurrency

我需要有关涉及线程的大学作业的帮助。在作业中,我必须实现一个包含 4 个线程的程序,其中一个线程包含另一个线程。我制作了下面的图表以帮助更好地解释它:

enter image description here

最好/最有效的方法是什么?我的教授对线程给出了非常有限的解释,从我迄今为止在网上收集到的信息来看,我必须实现 Runnable 接口(interface),并从主程序的 run() 方法中创建 4 个类,这可能会结束因为我还没有完全掌握Java中线程的概念,所以搞得一团糟。如果有人可以建议我可以了解更多信息的资源,请将其发布在此处。

这是我到目前为止的理解的一个例子:

public class MainThread implements Runnable
{
/**
 * The run method from the Runnable interface that
 * executes the entire program.
 */
public void run()
{
    class Controller implements Runnable
    {
        public void run() 
        {
            class MiniWalker implements Runnable
            {
                public void run ()
                {
                }
            }
        }

    }

    class ObjectWalker implements Runnable
    {
        public void run ()
        {   
        }
    }

    class GroupWalker implements Runnable
    {
        public void run ()
        {               
        }
    }

    class YearWalker implements Runnable
    {
        public void run ()
        {           
        }
    }
}

/**
 * The heart and core of this assignment.
 */ 
public static void main(String[] args) 
{
    (new Thread(new MainThread ())).start();
}

}

最佳答案

线程不包含其他线程。线程可以控制其他线程,但这完全不同。您的控制图不必与您的类层次结构直接相关。

关于java - 在一个线程中实现多个线程最有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438170/

相关文章:

java - 如何测试 vector 中找到的元素?

c# - Redis StringGet 批量/事务?

java - 使用 AsyncTask.get() 和 onPostExecute() 的区别

java - 如何解决线程饥饿?

multithreading - 乱序执行和重新排序 : can I see what after barrier before the barrier?

Javax Mail 将 PDF 作为文件发送

java - Eclipse 使用 ASM 4.0 显示非通知参数名称。如何解决这个问题?

java - Java 中 lambda 表达式的内部接口(interface)方法调用

Java - 线程过多的多线程问题

java - 使用双重检查阻塞方法实例化单例