gpt4 book ai didi

java - 处理 JavaFX 应用程序的并发性

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:45 24 4
gpt4 key购买 nike

我正在开发一个JavaFX应用程序,当单击按钮时,它会按顺序执行以下过程。

  1. 通过 JDBC 连接更新表 (DB2)
  2. 执行大型机 (Z/OS) 作业
  3. 再次更新表格以完成该过程

单用户没有问题。但问题是当有并发用户时。

我面临的问题是上述任务不应该并发。如果 User1 正在从 JavaFX 应用程序运行上述任务,则 User2 必须等待 User1 的所有进程完成。否则,两个用户都不会得到预期的结果。

如何处理多用户应用程序的队列。

最佳答案

~~~>Solution 1

您可以拥有一个服务器( ServerSocket ),其具有 Queue .它有一个线程等待请求,另一个线程执行一个又一个请求。

每当一个用户必须连接到数据库时,它就会向服务器发送一条消息,例如(IP,PORT)。

服务器将该消息保存到队列中,依此类推。服务器的另一个线程同步地从队列中获取并执行一条一条消息。

Example:

computer1 发送 (192.345.22 , 52 )

computer1 发送 (192.567.32 , 52 )

...

显然每次端口都是相同的。

因此一次只会为一个用户提供服务,但多个用户可以发送消息以在服务器上完成作业。

当提取消息时,您在问题中提到的 1,2,3 就完成了。如果新消息一直在传入,那么这种情况会一直持续到队列为空或无限为止。

显然,服务器应用程序必须始终打开,这样整个想法才能发挥作用。

我知道这不是最容易实现的事情,但你会从中学到很多东西..

关于java - 处理 JavaFX 应用程序的并发性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39311909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com