multi-threads merge sort