multi-process & multi-thread