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;}@Overridepublic String toString() {return business;}
}class TaskHandler implements Runnable{private final Request request;public TaskHandler(Request request) {this.request = request;}@Overridepublic 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();}
}

转载于:https://www.cnblogs.com/junjie2019/p/10607807.html

Thread-Per-Message设计模式相关推荐

  1. Androidの多线程之更新ui(Thread+Handler+Message)

    流程: 1.点击开始,显示进度对话框,启动线程,循环发送消息(1-100) 2.更新对话框中的进度,和标题栏的进度 3.到达最大进度值时,关闭对话框,标题栏显示更新完成 解析: 1.在主线程处理han ...

  2. 安卓线程相关 HandlerThread Handler Thread Looper Message Runnable

    本文由PurpleSword(jzj1993)原创,转载请注明 原文网址 http://blog.csdn.net/jzj1993 安卓主线程(UI线程)是线程不安全的:对UI控件的操作都应在主线程中 ...

  3. Thread Per Message Pattern

    概述:对每个命令或请求分配一个线程,由这个线程执行工作. 不像是一个有实权的将军,而像是一个传递消息的太监. when: 原理进一步解析: 利用了调用方法与启动线程两个操作,实现"传送异步消 ...

  4. Only the original thread that created a view hierarchy can touch its views——Handler的使用

    今天写了一个更新UI的小例子,没想到出了log打印了这样一个错误:Only the original thread that created a view hierarchy can touch it ...

  5. Android项目开发实战—倒计时[Handler,Timer,TimerTask,Message]

    Android实现倒计时 先上一个本人实际操作中的界面: 源代码: (activity_main.xml和MainActivity.java) activity_main.xml: <Linea ...

  6. Handler、Message的简单使用

    Android没有全局的消息队列,Android的消息队列是和某个线程相关联在一起的.每个线程最多只有一个消息队列,消息的处理也是在这个线程中完成.也就是说,如果想在当前线程中使用消息模型,则必须构建 ...

  7. android thread线程通讯

    参考:http://codinghard.wordpress.com/2009/05/16/android-thread-messaging/ 下载链接 源码: package sample.thre ...

  8. 多线程设计模式读书笔记(一)

    1. Single Thread Execution Pattern 1. 概念 该Pattern用来限制多个线程同时对share resource的访问只让一个线程访问,一般通过synchronzi ...

  9. 多线程,主线程与子线程的通信Handler Message sendmessage与handlemessage obtainmessage

    android是单线程的,在子线程中是不能修改UI线程的任何操作,所以要用一种方式让子线程中的信息返回到主线程中再做修改.这就要让主线程与子线程通信. 那如何让它们之间进行通信呢?我们用Handler ...

  10. Active Object 并发模式在 Java 中的应用--转载

    原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-activeobject/ 本文主要从以下两个方面进行阐述: 使用 C++ 语言,来描述 Act ...

最新文章

  1. 叙述式教学方案计算机技术,计算机病毒及防治叙述式教学设计方案.doc
  2. python load_Python实例:numpy.load()的使用
  3. halcon select_shape_xld按区域大小描绘xld
  4. c++ array学习
  5. 本地套接字示例[来源:Advanced Linux Programming]
  6. ob_get_contents()函数的用法
  7. 电商咄咄逼人的黑色星期五促销横BANNER设计模板
  8. 【转】5G EN-DC/NE-DC/NGEN-DC构架
  9. DWM1000 收发RXLED TXLED控制代码修改
  10. VUE依赖ol版本问题:geotiff.js Unexpected token
  11. 互联网产品需求管理思考1——统一需求管理
  12. IntelliJ IDEA导包快捷键
  13. 为什么C++开发不需要安装STL库
  14. cad没有命令输入框_cad怎么调出命令栏(cad下面的命令行没有了,如何调出来?)...
  15. IMU与Gyro及其它相关
  16. 来了,来了,他来了,使用Github制作自己的在线简历(网页和PDF版)你都值得拥有
  17. Ceph Calamari软件包介绍
  18. 微信公众号平搜索排名,如何让公众号搜索排名靠前,公众号文章关键词排名规则
  19. 戴尔win10开机后,在桌面点右键一直转圈,但任务栏又能正常点击
  20. python关联通达信pywin32_[AHK]联动通达信其实很简单

热门文章

  1. 【Restful】你还不懂Restful API规范吗?
  2. mysql mgr CONSuL_Mysql MGR + Consul + Consul-template + Haproxy 搭建mysql 高可用集群 (三)...
  3. 进阶的Redis之数据持久化RDB与AOF
  4. ./configure make make install详解
  5. Wince6.0应用开发:一、平台搭建
  6. java从远程服务器获取PDF文件并后台打印(使用pdfFox)
  7. 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】
  8. Python操作文件目录
  9. wpf绑定之格式化日期
  10. 精通 WPF UI Virtualization