I've written a bunch of test code and it looks like web workers run as follows - when you call a method, that's the only thing that runs until it returns. You can make other calls and they are queued up, but they do not run until the first method completes.
The good news is no worrys about race conditions, synchronization, etc. The bad news is there's no way to talk to a method in a web worker that is crunching away.