gpt4 book ai didi

java - 如果函数调用在多个线程中运行,则中止该函数调用

转载 作者:行者123 更新时间:2023-12-01 14:09:55 24 4
gpt4 key购买 nike

我在我的jsp页面中设置了一个sessionTimeout函数,我通过单击按钮使用iframe调用另一个Jsp页面在另一个jsp页面中我也有这个sessionTimeout函数。因此,该函数是并行运行的。如果有任何方法“如果在不同线程中多次调用同一个函数,那么它应该取消所有其他线程并访问最新线程”,任何人都可以帮助我。

我尝试过使用同步方法,但在功能完成之前它不允许我使用,所以我无法使用同步

有人可以帮我解决这个问题吗?

最佳答案

对于每个浏览器引擎实现,不保证在不同 iframe 中运行的 JavaScript 在同一线程中运行。

您可能需要在父窗口中构建一个任务管理实用程序来跟踪 iframe 实例和 sessionTimeout 函数运行状态(将状态保存在数组/映射中)。由于父级内部的脚本和所有 iframe 在其上下文中都是单线程的,因此您可以在 iframe 中触发 sessionTimout 函数之前检查每个 iframe 的状态。

如果您需要跨域 iframe 通信,您可以阅读这篇文章 http://www.codeproject.com/Tips/585663/Communication-with-Cross-Domain-IFrame-A-Cross-Bro

关于java - 如果函数调用在多个线程中运行,则中止该函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18606852/

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