Slightly improve performance: multiplex tasks waits onto set of cond vars