十二个任务 分给三个线程处理
2019独角兽企业重金招聘Python工程师标准>>>
package day02;
//实现手动分配
public class H {
private Thread t1;
private Thread t2;
private Thread t3;
// 构造方法 初始化线程
public H() {
t1 = new Thread(new RunnableA());
t2 = new Thread(new RunnableB());
t3 = new Thread(new RunnableC());
}
// 执行方法
public void test() {
t1.start();
t2.start();
t3.start();
}
// 测试方法
public static void main(String[] args) {
H m = new H();
m.test();
}
// 任务a
private class RunnableA implements Runnable {
public void run() {
System.out.println("A开始");
runA();
runB();
runC();
runD();
System.out.println("A结束");
}
}
// 任务b
private class RunnableB implements Runnable {
public void run() {
System.out.println("B开始");
runE();
runF();
runG();
runH();
runI();
runJ();
runK();
System.out.println("B结束");
}
}
// 任务c
private class RunnableC implements Runnable {
public void run() {
System.out.println("C开始");
runL();
System.out.println("C结束");
}
}
// 以下为12个任务内容
public void runA() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("A");
}
public void runB() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("B");
}
public void runC() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("C");
}
public void runD() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("D");
}
public void runE() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("E");
}
public void runF() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("F");
}
public void runG() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("G");
}
public void runH() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("H");
}
public void runI() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("I");
}
public void runJ() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("J");
}
public void runK() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("K");
}
public void runL() {
System.out.println("xiancheng " + Thread.currentThread().getName() + "在工作");
System.out.println("L");
}
}
以下使用线程池
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadDemo {
private ExecutorService pool = Executors.newFixedThreadPool(3);
List<Runnable> list;
public ThreadDemo(){
list = new ArrayList<Runnable>();
list.add(new RunnableA());
list.add(new RunnableB());
list.add(new RunnableC());
list.add(new RunnableD());
list.add(new RunnableE());
list.add(new RunnableF());
list.add(new RunnableG());
list.add(new RunnableH());
list.add(new RunnableI());
list.add(new RunnableJ());
list.add(new RunnableK());
list.add(new RunnableL());
}
public void test(){
for(Runnable r : list){
pool.execute(r);
}
pool.shutdown();
}
public static void main (String [] args){
ThreadDemo td = new ThreadDemo();
td.test();
}
class RunnableA implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("A");
}
}
class RunnableB implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("B");
}
}
class RunnableC implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("C");
}
}class RunnableD implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("D");
}
}
class RunnableE implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("E");
}
}
class RunnableF implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("F");
}
}
class RunnableG implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("G");
}
}
class RunnableH implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("H");
}
}
class RunnableI implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("I");
}
}
class RunnableJ implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("J");
}
}
class RunnableK implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("K");
}
}
class RunnableL implements Runnable{
public void run(){
System.out.println("xiancheng "+Thread.currentThread().getName()+"在工作");
System.out.println("L");
}
}
}
转载于:https://my.oschina.net/dou2016/blog/687214
十二个任务 分给三个线程处理相关推荐
- 十二个球称三次C语言编程,十二个球,有一个不知轻重,现有一个天平,称三次,找出此球!...
平均分成A.B.C三组,每组4个: 第一秤:A.B两组先分别放天平左右: 情况一:平衡.则问题出在C组,A.B组共8个为标准球. 第二秤用3个标准球和C组的3个球对比, 如果第二秤平衡,剩下的一个就是 ...
- Java基础知识(二十二)常用类三(StringBuffer类)
目录 一.StringBuffer类 1.概述: 2.线程安全与不安全: 3.StringBuffer的特点: 4.可修改 5.StringBffer与String的区别: 6.StringBuffe ...
- 学习笔记二十二:GUI(三)
形成天才的决定因素应该是勤奋.--郭沫若 本讲内容:常用组件 一.面板组件JPanel(非顶层组件) 一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel面板组件,而JPanel上也可使 ...
- 2017秋-软件工程第十二次作业(三)-版本控制报告(个人)
版本控制报告 0.在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境,并成功地把最新.最稳定版本 ...
- JavaSE(二十二)——TCP协议的三次握手
文章目录 1. TCP协议 2. TCP的三次握手 3. 为什么一定是三次握手? 1. TCP协议 TCP协议:传输控制协议,是可靠连接,类似于打电话,只有等待对方接通的时候才可以交流,也就是确认了对 ...
- 深入理解Java虚拟机——第十二章——Java内存模型与线程
硬件效率与一致性 处理器需要与内存交互,但处理器运算速度与对内存的I/O操作速度相差几个数量级,因此现代操作系统不得不加入尽可能接近处理器运算速度的高速缓存来作为内存与处理器之前的缓冲.这样处理器就不 ...
- 深度学习核心技术精讲100篇(六十二)-DQN 的三种改进在运筹学中的应用
前言 假设有一个客服排班的任务,我们需要为 100 个人安排一个星期的排班问题,并且有以下约束条件: 一天被划分为 24 个时间段,即每个时间段为 1 个小时: 每个客服一个星期需要上七天班,每次上班 ...
- Docker系列器十二:docker swarm三节点创建一个wordpress
1,现在manager创建一个网络: docker network create -d overlay demo 创建完成后,在node上没有显示. [root@docker-host ~]# doc ...
- 卜若的代码笔记-数据结构系列-第十二章:栈三.链栈
1.太简单了,不介绍了,直接贴代码,有问题请看10,11,章 //测试代码public static void main(String[] args) throws IOException {Link ...
最新文章
- 学习中接触的计算机概念
- 中国科学院深圳先进技术研究院为Banana Pi团队提供活动场地
- Java FileDescriptor sync()方法与示例
- Spark高级操作之json复杂和嵌套数据结构的操作二
- 枚举类型的定义和应用
- MQTT和CoAP对比
- ajax回调函数的使用;ajax请求成功后对数据的再次使用
- 利用计算机进行文字处理就是进行文字的录入,计算机文字录入处理员理论题库.DOC...
- VLA的AIPS简单绘图
- 如何能快速看懂一个Java项目?
- JavaSE —— 使用 Javac 编译 Java 程序
- 一个新开源的BUG管理系统Cynthia
- Java环境搭建_20200708
- 基于labview的AM调制以及解调
- Python处理超强反爬(TSec防火墙+CSS图片背景偏移定位)
- 浅谈 TLS 1.3
- 小米手机、红米手机、小米Pad屏幕四周不停闪烁的解决办法,亲测成功!
- 本科双非,收割互联网大厂10+offer!!!
- 【报告分享】2021酸奶消费趋势报告-CBNData旺旺乳铁食研室(附下载)
- 网页嵌入视频(腾讯,优酷,秒拍)
热门文章
- java练习:打印 数字1、2、3、4的组合,不能以4开头,1和3不能相邻,且数字不能重复
- matlab中如何求零极点,Matlab中绘制零极点
- mysql查询员工表中所有员工入职20个月之后的日期_Mysql基础教程
- caffe-gpu ubuntu 安装_如何在Linux中安装vnStat和vnStati监视网络流量
- java rw_Java基础之I/O流详解
- 第十六智能车竞赛总决赛获奖证书寄送
- 2021年春季学期-信号与系统-第八次作业参考答案-第七小题
- pandas 索引_10分钟带你学会Pandas多层级索引
- 数字政通图像处理面试_SLAM面试问题大全
- 苹果自带相册打马赛克_老王被绿?iOS 13惊现漏洞,马赛克去除