threads.js icon indicating copy to clipboard operation
threads.js copied to clipboard

Feature request: Add "disabled" mode to run without using threads

Open kellyselden opened this issue 5 years ago • 2 comments

Use case: Debugging threads is possible, but harder than debugging the main process. If I have a problem in one of my threads, or the pool entry code itself, it would be amazing if I could provide threads.js an option or env var to disable threading. This way I don't have to refactor my code, I can use the same pool queuing code/event subscribing/thread expose code, but run it all single-threaded so I can set a debugger anywhere in the pipeline.

I'm aware a feature like this would be a fair amount of work by reworking expose to act like module.exports for the main thread instead, but I wanted to post this in case anybody likes this idea.

kellyselden avatar Oct 08 '20 08:10 kellyselden

I see you have a good implementation swapping system built, so maybe it wouldn't be too hard to swap in a no-op spawn/Worker and the rest of the system could continue to work normally?

kellyselden avatar Oct 08 '20 10:10 kellyselden

Yeah, that would be the way to go 👍

andywer avatar Oct 08 '20 10:10 andywer