Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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服务器端的一个sting处理和并行处理_Java_Parallel Processing - Fatal编程技术网

java服务器端的一个sting处理和并行处理

java服务器端的一个sting处理和并行处理,java,parallel-processing,Java,Parallel Processing,我是Java新手,希望接受包含股票市场详细信息的字符串。如果现有字符串包含脚本的购买订单,请查找给定价格的卖家。如果没有匹配项,请将新订单添加到现有采购订单队列 这些操作需要尽可能快地完成,或者最好并行完成,以便给定的应用程序可以在最短的时间内处理尽可能多的订单。1)如果可能,可以接受JSON或XML并将其转换为名为StockMarket的对象,而不是接受字符串。-->你会在网上找到大量的库来为你做这件事,你的代码将是干净和可管理的 2) 更快的处理速度是一个主观问题,取决于您如何编写代码。如果

我是Java新手,希望接受包含股票市场详细信息的字符串。如果现有字符串包含脚本的购买订单,请查找给定价格的卖家。如果没有匹配项,请将新订单添加到现有采购订单队列

这些操作需要尽可能快地完成,或者最好并行完成,以便给定的应用程序可以在最短的时间内处理尽可能多的订单。

1)如果可能,可以接受JSON或XML并将其转换为名为StockMarket的对象,而不是接受字符串。-->你会在网上找到大量的库来为你做这件事,你的代码将是干净和可管理的

2) 更快的处理速度是一个主观问题,取决于您如何编写代码。如果您可以发布一些您尝试过的代码,我们可以检查是否可以进行任何性能优化


3) 您必须在处理所述逻辑的类下有一个方法。如果该方法不修改任何类级变量,那么可以轻松地并行化方法调用。否则,您需要将修改类级别变量的代码段放在“synchronized”块中。然后并行化应该不是问题。

要补充Hirak的答案,如果您想在java中处理并行,您需要阅读关于线程和并发的内容。你可以在《感谢希拉克和阿尼鲁德》中读到。我已经按照您的建议创建了对象。但是,我关心的是维护系统中输入的股票订单的订单列表[买入订单列表和卖出订单列表]。一旦订单进入系统,解析它,检查是否有匹配项。如果是,执行它[减少购买或销售数量响应],否则维护订单Que[购买订单列表,销售订单列表]。因此,我们想知道如何维护所说的订单队列,如果可能的话,在解析器解析进入系统的下一个订单时并行处理它。再次感谢,因为根据FIFO特征,这不是一个队列。为了实现所述功能,需要一个包含两个“静态”列表的数据对象。一买一卖。每当订单执行时,只需向购买列表添加新元素或从出售列表中删除一个元素。如果有帮助,请告诉我。P.S:一旦你通过这一步,考虑使数据对象不变,谢谢Hirak。买卖清单需要包含价格清单,并且需要有一个值。因此,我在这里使用HashMap。包含“OrderQty”和“OrderId”的值,因此我在Order包含的位置使用ArrayList“订单数量和订单ID。因此,它将是一个BuyHashMap和SellHashMap,其中包含ArrayList的值。现在,我唯一关心的是,当解析器解析接收到的请求时,如何使订单执行并行。为了清晰起见,我将添加更多细节:应用程序必须接收传入的请求,对其进行解析并发送到Match server,Match server将检查订单是否可以执行“如何调用您的应用程序?1) 如果这是一个web应用程序,那么它将自动进行并行处理。2) 如果您有一个独立的应用程序,它被调度,并且请求通过命令行传递到主类,那么您必须在调度程序中多次调度同一个主类。3) 如果您有一个主类从file/DB读取请求的独立应用程序,那么您需要对应用程序进行多线程处理。对于多线程,如果您使用的是Java7,那么可以使用FormJoinAPI。