码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA多线程(九)模式-Thread Per Message

时间:2016-09-29 22:33:28      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:java多线程   多线程模式   设计模式   模式   pattern   

Thread Per Message

请求的频率高于处理速度,由线程池平衡请求速度和处理速度。

适用环境

不需要返回数据,处理顺序无关的场景。

样例

每一次请求都由线程池中一个线程处理。

服务端

package ThreadPerMessage;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Host{
	private ExecutorService executor = Executors.newFixedThreadPool(5);

	public void process(final String caller,final String msg){
		executor.execute(new Runnable(){
			@Override
			public void run() {
				System.out.println(Thread.currentThread().getName()+" "+caller+":"+msg);
				try {
					Thread.sleep(100);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
			
		});
	}
}

测试类

package ThreadPerMessage;

import java.util.UUID;

public class Test {
	public static void main(String[] args){
		final Host host=new Host();
		new Thread(new Runnable(){

				@Override
				public void run() {
					while(true){
						host.process("a", UUID.randomUUID().toString());
					}
					
				}
			}
		).start();
		
		new Thread(new Runnable(){

			@Override
			public void run() {
				while(true){
					host.process("b", UUID.randomUUID().toString());
				}
				
			}
		}
	).start();
	}
}

本文出自 “JAVA技术栈笔记” 博客,请务必保留此出处http://stroll.blog.51cto.com/11038467/1857729

JAVA多线程(九)模式-Thread Per Message

标签:java多线程   多线程模式   设计模式   模式   pattern   

原文地址:http://stroll.blog.51cto.com/11038467/1857729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!