Skip to content

Instantly share code, notes, and snippets.

@botic
Created September 18, 2012 07:57
Show Gist options
  • Select an option

  • Save botic/3741895 to your computer and use it in GitHub Desktop.

Select an option

Save botic/3741895 to your computer and use it in GitHub Desktop.
RingoJS setTimeout() setInterval() threads / workers
include("ringo/scheduler");
exports.doSchedule = function() {
setInterval(function () {
var nowRunning = java.lang.Thread.currentThread();
console.log("doSchedule :: setInterval(): " + nowRunning.getName());
}, 200);
for (var i = 0; i < 10; i++) {
setTimeout(function() {
var nowRunning = java.lang.Thread.currentThread();
console.log("doSchedule :: setTimeout(): " + nowRunning.getName());
}, Math.floor(10000 * (Math.random())));
}
}
include("ringo/scheduler");
require("./anotherModule").doSchedule();
setInterval(function () {
var nowRunning = java.lang.Thread.currentThread();
console.log("main.js :: setInterval(): " + nowRunning.getName());
}, 500);
for (var i = 0; i < 100; i++) {
setTimeout(function() {
var nowRunning = java.lang.Thread.currentThread();
console.log("main.js :: setTimeout(): " + nowRunning.getName());
}, Math.floor(20000 * (Math.random())));
}
$ ringo main.js
main.js :: setTimeout(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
doSchedule :: setTimeout(): ringo-worker-1
doSchedule :: setTimeout(): ringo-worker-1
main.js :: setInterval(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setInterval(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
main.js :: setInterval(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setInterval(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
doSchedule :: setInterval(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
main.js :: setTimeout(): ringo-worker-1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment