,----, ,/ .`| ,` .' : ,---, ; ; /,--.' | ,---, .'___,/ ,' | | : __ ,-. ,---.'| .--. | : | : : : ,' ,'/ /| | | : .--,`| .--.--. ; |.'; ; : | |,--.' | |' | ,---. ,--.--. | | | | |. / / ' `----' | | | : ' || | ,'/ \ / \ ,--.__| | '--`_ | : /`./ ' : ; | | /' :' : / / / | .--. .-. | / ,' | ,--,'|| : ;_ | | ' ' : | | || | ' . ' / | \__\/: . .. ' / | | | ' \ \ `. ' : | | | ' | :; : | ' ; /| ," .--.; |' ; |: | : | | `----. \ ; |.' | : :_:,'| , ; ' | / | / / ,. || | '/ '___ __| : ' / /`--' / '---' | | ,' ---' | : |; : .' \ : :/ .\.'__/\_: |'--'. / `--'' \ \ / | , .-./\ \ / \ ; | : : `--'---' `----' `--`---' `----' `--" \ \ / `--`-' =========================================================================================== Thread.js makes it easy to move your number crunching code into a separate thread. It does so by using web workers, without requiring a separate file for your worker. How does it do so? Blob URLs. As such, (currently) only Chrome 12+ is fully supported. =========================================================================================== Usage: var myThread = Thread.start(function () { console.log("Console.log is actually available!"); this.listen(function (msg) { this.tell("Hello " + msg); }); return "foo"; }).done(function (result) { // result === "foo" }).listen(function (msg) { // msg === "Hello World"; }).tell("World"); =========================================================================================== API: new Thread(fn) Thread.start // alias for new Thread myThread.done myThread.fail myThread.listen myThread.tell myThread.send