multi-process and multi-threading