perform block regard concurrent type and wait