JAVA多线程模式-Thread Per Message

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA多线程模式-Thread Per Message相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Day852.Thread-Per-Message模式 -Java 并发编程实战

Day852.Thread-Per-Message模式 -Java 性能调优实战

使用线程池时一定要注意的五个点

JAVA多线程(十三)模式-Thread Specific Storage

JAVA多线程模式-Work Thread和阶段总结

Java的多线程实现生产/消费模式