import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; public class Test { public static void main(String[] args){ } } /* Thread-Per-Message模式 Thread-Per-Message的意思是为每一个消息的处理开辟一个线程使得消息能够以并发的方式 进行处理,从而提高系统整体的吞吐量。 */ /* 24.2 每个任务一个线程 */ class Request{ private final String business; public Request(String business) { this.business = business; } @Override public String toString() { return business; } } class TaskHandler implements Runnable{ private final Request request; public TaskHandler(Request request) { this.request = request; } @Override public void run() { System.out.println("Begin handle "+request); slowly(); System.out.println("End handle "+request); } private void slowly(){ try{ TimeUnit.SECONDS.sleep(ThreadLocalRandom.current().nextInt(10)); } catch (InterruptedException e) { e.printStackTrace(); } } } class Operator{ public void call(String business) { TaskHandler taskHandler = new TaskHandler(new Request(business)); new Thread(taskHandler).start(); } }