Simulated Web Workers

This content is over 13 years old. It may be obsolete and may not reflect the current opinion of the author.

So you put your complicated computation in Web Workers, but you just realized the computation is not that complicated at all. Also, you denied the browsers without web workers to ever running your hard work – Mobile Safari, all IEs up to version 9.

Here is the solution I took, something might be useful to you: Simulated Web Workers – a library that creates a pseudo-web worker (that runs at fore-ground), while expose the same interfaces. Well, almost.

By almost, I mean the following:

  • Instead of calling postMessage() to send the result, in IE you must call workerPostMessage() – because IE doesn’t allow me to overwrite the aforementioned function.
  • Since anything runs at fore-ground right now, they are subjected to runaway Javascript timer imposed by browsers – the while(true) example given by Wikipedia won’t work. The setTimeout() trick however would make it work again (in a not-so-efficient way) – please check the library tests.

You could say Simulated Web Workers is like exCanvas for canvas, but of course the interfaces of web workers are not that many. Anyway, have fun with your next web workers project.

One thought on “Simulated Web Workers

  1. Pingback: Word Cloud – Open source “Wordle” in HTML5 | Blog: timdream

Comments are closed.