草庐IT

线程队列

全部标签

javascript - 了解 JavaScript 计时器线程问题

我正着手开发一款javascriptMMORPG,它实际上可以顺利运行。目前,我创建了一个演示来证明我可以移动Angular色并让他们互相聊天,以及看到彼此实时移动。http://set.rentfox.net/现在Javascript计时器是我没有广泛使用的东西,但据我所知,如果我错了请纠正我,同时发生多个setIntervals并不能很好地工作b/c它全部打开一个线程。假设我想让10个不同的人通过使用带有setInterval的Sprite背景定位来向怪物发射火球——该动画需要10个setIntervals来重新绘制DOM以进行Sprite背景位置移动。那不是一辆大马车吗?我想知道

javascript - Javascript 事件队列有优先级吗?

这几天看了一些关于setTimeout和setInterval的文档。我了解到Javascript是一个单线程,每次只执行一段代码。同时,如果有事件发生,将被插入事件队列并阻塞直到合适的时间。我想知道,当许多事件被阻塞等待同时执行时。这些事件是否具有不同的优先级,因此高优先级事件将在低优先级事件之前执行。或者只是一个FIFO队列。setTimeout(fn1,10);$(document).click(fn2);//willbecalledat6ms;$.ajax({ajaxSuccess(fn3);//asyncrequest,ituses7ms;})for(){//willrun1

javascript - 队列 AJAX 调用

您好,我正在做一个水平滚动网站,例如:http://vanityclaire.com/但是,在加载主页之后,我没有一个大的HTML文件,而是使用jQuery.load()在家里的child中使用ajax。目前我在标题中的url中查找每个div和ajax。但是AJAX返回时乱序,并且当我添加更多页面时,我不希望spanging服务器有30多个http://请求。我如何同步执行AJAX调用,即在请求另一个之前等待第一个返回,或者一次发送两个。我一直在搜索,无法弄清楚我需要什么。这是我的HTML:HOMEPAGECONTENT还有我的JS:functions_loadingInitialPa

javascript - 单线程JavaScript下的动画

JavaScript是一种单线程语言,因此它一次执行一个命令。正在通过浏览器管理的WebAPI(用于事件处理的DOM,用于AJAX调用的XMLHttpRequest,用于setTimeout的WindowTimers)和事件队列来实现异步编程。到现在为止还挺好!现在考虑以下非常简单的代码:$('#mybox').hide(17000);console.log('Previouscommandhasnotyetterminated!');...有人可以向我解释以上内容的潜在机制吗?由于.hide()尚未完成(动画持续17秒),并且JS引擎正在处理它,并且它能够一次执行一个命令,因此它将转

javascript - jQuery 队列事件

所以我想做的是使用jQuery为我正在处理的一些AJAX调用协调一些效果。我的问题是第二个div的fadeIn与第一个div的fadeOut同时触发。这也适用于其他事件,所以我很好奇,是否有任何方法可以让fadeId仅在fadeOut完成后启动?jQuery("#div1").fadeOut("slow");jQuery("#div2").fadeIn("slow");谢谢 最佳答案 这对于快速动画来说通常已经足够了,但是如果你想排队一些效果,你也可以像这样使用queue()和dequeue()方法:$("#div1").fadeO

javascript - javascript 中类似信号量的队列?

我有一个变量can_run,它可以是1或0,然后我有一个函数队列,一旦变量从0到1(但一次只有1个这样的函数)。我现在做的是varcan_run=1;functionwait_until_can_run(callback){if(can_run==1){callback();}else{window.setTimeout(function(){wait_until_can_run(callback)},100);}}//...somewhereelse...wait_until_can_run(function(){can_run=0;//startrunningsomething})

javascript - JavaScript 线程和 Silverlight UI 线程之间是什么关系?

JavaScript是单线程的-Silverlight不是,但JavaScript和Silverlight之间的交互必须在SilverlightUI线程上执行。但是,SilverlightUI线程和JavaScript线程之间到底是什么关系呢?根据任何定义,它们是同一个线程,还是单独的线程,交互完全通过各自的事件循环执行,并在等待另一个线程时阻塞一个线程(例如,从Silverlight评估/调用JavaScript时)?换句话说,JavaScript能否与UI线程上的Silverlight操作同时执行(同一页面中托管的多个Silverlight实例能否同时运行其UI线程)?

javascript - 使用 Phonegap/WebWorks 的 Blackberry 线程过多

我正在使用Cordova/PhoneGap开发黑莓应用程序。我正在从服务器获取多张图像(map图block)。另外,我每60秒向它发送一次位置信息。但是,有时当我获取图像或发送信息时,我会收到错误消息。如果我在模拟器上(BB9930,OS7.0.0.318),我会收到一条AppError104:Toomanythreads消息,我的应用程序崩溃了。当我在设备(BB8520,操作系统5.0.0.592)上测试我的应用程序时,应用程序不仅崩溃,而且使BB重置。我看过其他有相同问题的帖子(如thisone、thisone或thisone)。但是,在使用Cordova/PhoneGap(Jav

javascript - 如何使用 JavaScript 在单独的线程中打开一个新选项卡? ( Chrome )

是否可以打开一个将在单独线程中运行的新弹出选项卡?更具体地说,如果我创建一个新的弹出选项卡并在该新选项卡中开始调试,则包含链接的选项卡也会暂停javascript,直到我在新选项卡中单击恢复。我想要实现的是创建一个独立的新选项卡,这样我就可以在父选项卡继续运行时调试它。我在使用Chrome浏览器时遇到了这个问题。请注意,这在Firefox中运行良好(尚未在其他浏览器中测试过)。 最佳答案 通常chrome会强制新窗口在相同的进程ID上运行。但是,有一些技术可以让站点打开一个新窗口而不用强制它进入相同的进程:使用指向新窗口的不同网站的

javascript - 在javascript中加入多个回调/线程?

我正在寻找Thread.Join()类型的东西。假设我在javascript中触发了4个事件。我想执行代码,但只有在所有4个回调都完成之后。我怎么做?我能想到的唯一方法是检查4个回调是否正在通过全局变量进行处理,在这种情况下我忽略或抛出异常。但否则在每个回调中执行类似globalVar++的操作,并在每个回调结束时调用IsItDone()以检查globalVar是否==4。但是..我有点不喜欢它,尤其是因为我需要使用全局变量。 最佳答案 您可以自己建立一个队列并包装回调,但这有点麻烦。幸运的是,有大量的图书馆可以提供帮助。我不喜欢计