Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在MVC中使用线程?_Java_Multithreading_Model View Controller - Fatal编程技术网

Java 如何在MVC中使用线程?

Java 如何在MVC中使用线程?,java,multithreading,model-view-controller,Java,Multithreading,Model View Controller,我有一个Java小组项目。我们将模拟客户从邮局收集包裹。 -顾客是随机来的 -包裹隔很长时间才到达 -店员等待顾客;如果有,他就把包裹递给他们 我制作了一个客户和一个包裹线程,可以根据需要添加客户和包裹。我还做了一个店员线程,可以一直睡到顾客到来 问题是线程如何适应MVC 我为每个线程创建了单独的可运行类。我是否将视图传递给他们的构造函数 我为每个线程创建了单独的可运行类。我是否将视图传递给他们的构造函数 不,这样的“后台”任务不会直接提供视图。应用程序所有层的通用组件是模型。在后台工作的线程应

我有一个Java小组项目。我们将模拟客户从邮局收集包裹。 -顾客是随机来的 -包裹隔很长时间才到达 -店员等待顾客;如果有,他就把包裹递给他们

我制作了一个客户和一个包裹线程,可以根据需要添加客户和包裹。我还做了一个店员线程,可以一直睡到顾客到来

问题是线程如何适应MVC

我为每个线程创建了单独的可运行类。我是否将视图传递给他们的构造函数

我为每个线程创建了单独的可运行类。我是否将视图传递给他们的构造函数


不,这样的“后台”任务不会直接提供视图。应用程序所有层的通用组件是模型。在后台工作的线程应该在完成工作时更新相应的模型。视图观察模型以根据需要进行自我更新。

为什么在这里使用线程?这似乎不合适。使用队列和各种参与者/消息要简单得多。这是项目的一项要求。您是否在问如何将线程与前端进程集成?或者如何显示结果?或者如何使用线程来模拟网络流量?这看起来像是你想对你的网站进行压力测试。听起来更像是一个MV*M,而不是我所反对的。IMO“MVC”早就退化为一个营销术语,在不同的框架和平台上没有一致的定义。它用于向产品经理销售技术堆栈,这些产品经理记得维护VB6的恐怖,并希望被告知这一次会有所不同,因为“这一次有MVC”/rantdone:)哦,好吧,这很有意义:)谢谢。因此,当线程继续在后台运行时,我的控制器看到模型已经更改并更新了视图。这与Affe的建议完全相反。。如果你决定忽略它,为什么你会接受这个答案?