首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript -防止Chrome在长循环期间杀死页面

Javascript -防止Chrome在长循环期间杀死页面
EN

Stack Overflow用户
提问于 2016-06-23 02:37:13
回答 1查看 75关注 0票数 0

当我的connect-four浏览器游戏运行正常时,Chrome一直在中途杀死页面。这个游戏是一个玩家对电脑的设置,游戏本身运行正常,永远不会崩溃。当我将训练计算机对手的迭代次数设置得太高时,页面崩溃。这些程序使用qLearning算法训练人工智能,在该算法中,人工智能播放自身并为遇到的每个状态存储一个值。如果我将迭代次数设置为125,000或更少,那么一切都很好(除了对手不是那么好)。我不知道是循环的运行时间(大约需要30分钟)杀死了程序,还是其他原因,比如记录状态及其对应的Q值的内存限制。

我如何才能让程序运行更多的训练迭代,而不是chrome杀死页面?

EN

回答 1

Stack Overflow用户

发布于 2016-06-23 02:45:41

关于如何处理代码,您有几个选择。

选项1:setInterval / setTimeout

正如其他人所建议的那样,使用setIntervalsetTimeout可以在“块”中运行代码,并且任何一个块都不会导致超时。

选项2:setInterval + generators

对于深度嵌套的代码,使用setTimeout很难正确地重新输入代码。

阅读generators --这会使分块运行代码变得更好,但可能需要重新设计。

选项3: webworkers

Webworkers提供了另一种方法,这取决于您正在计算的内容。它们在后台运行,不能访问DOM或其他任何东西,但它们非常擅长计算。

选项4: nodejs

最后一个选择是离开浏览器,在另一个环境中运行,比如node.JS。如果您在Windows下运行,则HTA文件可能是另一种选择。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37975869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档