`
someoneneedsme
  • 浏览: 4797 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

线程A,B,C 逐个执行

 
阅读更多
package com.jibx_maven;

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

public class SingleThreadExecutor {

	public static void main(String[] args) {
		
		ExecutorService executorService = Executors.newSingleThreadExecutor();
//		ExecutorService executorService = Executors.newCachedThreadPool();
		executorService.submit(new Thread(new Worker("A")));
		executorService.submit(new Thread(new Worker("B")));
		executorService.submit(new Thread(new Worker("C")));
	}
}
class Worker implements Runnable {
	
	private String workerId;

	public Worker(String workerId) {
		super();
		this.workerId = workerId;
	}

	@Override
	public void run() {
		Random random = new Random();
		System.out.println("workder " +workerId + " is  starting his work ");
		try {
			Thread.sleep(random.nextInt(10)*1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("workder " +workerId+ "finish his work ");
		
	}
	
}


    workder A is  starting his work
    workder Afinish his work
    workder B is  starting his work
    workder Bfinish his work
    workder C is  starting his work
    workder Cfinish his work



分享到:
评论

相关推荐

    python多线程ping服务器在线情况

    传统的逐个Ping方法效率低下且耗时。本文将详细介绍如何使用Python的多线程技术来批量Ping服务器,并高效地检测其在线状态。 #### 核心概念解析 1. **多线程**:多线程是指一个进程中包含多个线程同时运行的技术。...

    cuda入门程序

    c[idx] = a[idx] + b[idx]; } } int main() { int h_a[100], h_b[100], h_c[100]; // 主机数组 int *d_a, *d_b, *d_c; // 设备数组 // 初始化主机数组... // 分配设备内存 cudaMalloc((void**)&d_a, ...

    Java笔试题大全 多套 全面

    10. **多线程程序**:在`main`方法中没有启动线程,所以`a1.run()`不会执行,程序只会输出"b"。如果`run`方法被正确地启动(如`a1.start()`),则会输出"a"并抛出异常,但这里没有显示异常处理,所以不会显示"break...

    东北财经大学20春《Java语言应用开发基础》单元作业三(参考答案).docx

    需要注意的是,`yield()` 方法只会影响当前正在执行的线程,并且它不会影响到特定线程(选项D)或者当前线程类的实例(选项B/C)。 #### if语句解决的分支数 **题目**: if语句可以解决的分支数为? - A. >1 - B. ...

    网络收音机项目培训培训-线程间的同步和通信-教程与笔记习题

    例如,假设线程A正在播放音频,而线程B负责用户交互,当用户按下暂停按钮时,线程B需要通知线程A停止播放音频。这就需要线程间的通信机制。线程A可以处于等待状态,等待一个事件的到来。一旦用户触发了暂停操作,...

    你必须知道的495个C语言问题

    ### 重要知识点解析 #### 1. 声明和初始化 **1.1 我如何决定使用那种整数类型?** 在C语言中选择合适的整数类型取决于多个因素,包括但不限于所需数值范围、...具体来说,`a ^= b ^= a ^= b`等价于`a = a ^ b; b =...

    学不会python多线程爬虫的函数调用,也就是面对方法爬虫,求解(csdn)————程序.pdf

    Python多线程爬虫是一种高效的网络爬虫技术,它通过并发执行多个爬虫任务来提高爬取速度。在本问题中,开发者遇到了在尝试实现多线程爬虫时函数调用的问题,导致程序无法正常工作。下面将详细解析Python多线程爬虫的...

    实数及复数矩阵加法并行CUDA

    实数矩阵加法是线性代数中最基本的操作之一,通常表示为A + B = C,其中A、B和C都是相同尺寸的矩阵,每个元素进行逐个相加。在CUDA中,这个过程可以通过以下步骤实现: 1. 数据传输:首先,我们需要将矩阵A和B从...

    华为C++笔试题(附答案)

    2. **表达式B**: `a += (++a);` - 解析:`++a`先自增再使用,`a`由4变为5,然后`a`加上5得到10,`a`的最终值为10。 - 执行后`a`的值:10 3. **表达式C**: `(a++) += a;` - 错误原因:在C++中,复合赋值运算符...

    2015阿里巴巴校招研发在线笔试题

    实际上,sleep()方法的作用是使当前线程暂停执行指定的时间,如果此时有优先级更高的线程等待,CPU将调度该高优先级线程运行,所以A选项是错误的。选项B指出yeild()方法只会使相同优先级的线程获得运行机会,这也是...

    Android面试题

    - **答案**:A、B、C、D - **解析**:Intent 可以传递多种数据类型,包括Serializable、CharSequence、Parcelable和Bundle。 --- **13. Intent 的作用** - **选项分析**: - A、实现应用程序间的数据共享 - B、...

    矩阵乘法运算 vs2008 c#

    假设A是m×n矩阵,B是n×p矩阵,那么它们的乘积C将是m×p矩阵,其中每个元素C[i][j]由A的第i行和B的第j列对应元素的逐个乘积之和得出: \[ C[i][j] = \sum_{k=1}^{n} A[i][k] \times B[k][j] \] 在C#中实现矩阵...

    c/c++笔试题

    A) `(a++)` 先自增再赋值,B) `[++a]` 先自增再赋值,C) `(a++) += a` 是错误的,因为`(a++)`不是一个有效的左值,不能作为赋值操作的目标,而D) `(++a) += (a++)`则会先自增`a`,然后将自增后的`a`与再次自增后的`a...

    网上转摘的华为笔试题目及答案

    `extern "C"`**:在C++中使用C语言的函数或变量时,需要使用`extern "C"`来避免名称修饰(name mangling)。这是因为C++编译器为了支持重载等功能会对符号名进行修饰,而C编译器不进行这样的修饰。通过`extern "C"`...

    Android常见的面试题

    - A、程序员必须创建一个线程来释放内存 - B、内存回收程序负责释放无用内存 - C、内存回收程序允许程序员直接释放内存 - D、内存回收程序可以在指定的时间释放内存对象 **知识点详解**: - **内存回收**: Android...

    java面试题

    例如,`String s="a"+"b"+"c"+"d"`实际上在编译后相当于一个字符串常量"abcd",因此只创建了一个`String`对象。如果使用`==`比较两个字符串,比较的是它们的引用,而非内容,因此`s == "abcd"`的结果是`true`。 3. ...

Global site tag (gtag.js) - Google Analytics