multi-threads without lock