Создаём несколько вспомогательных потоков, запускаем их последовательно. Суть этих потоков в том, чтобы проверять постоянно какую-нибудь определённую переменную, когда она изменится - запустить потоки с Work(). Меняем эту переменную, потоки "одновременно" запускают другие потоки.
Можно и не делать вспомогательных потоков, просто основную логику Work() не запускать до какого-либо события (например, изменения переменной).