java并发的艺术_Java并发编程的艺术(一)
题目1
创建3个线程,让3个线程分别按着顺序打印AAAA,BBBB,CCCC(第一个线程打印AAAA,第二个线程打印BBBB,第一个线程始终在第二个线程之前打印)
代码(该代码为打印3个线程分别打印一次)
public class JoinTest {
public static void main(String[] args) {
Thread prev = Thread.currentThread();
String[] array = {"AAAA","BBBBB","CCCC"};
for(int i = 0;i<3;i++){
Thread thread = new Thread(new MyThread(prev,array[i]),"Thread"+i);
thread.start();
prev = thread;
}
}
}
class MyThread implements Runnable{
private Thread thread;
private String print;
public MyThread(Thread thread,String print){
this.thread = thread;
this.print = print;
}
@Override
public void run() {
try {
thread.join();
for(int i = 0;i<3;i++){
System.out.println(print);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName());
}
}
运行结果
AAAA
AAAA
AAAA
Thread0
BBBB
BBBB
BBBB
Thread1
CCCC
CCCC
CCCC
Thread2
题目1 扩展
只创建3个线程,循环打印 题目1 的字符串,并且按照上题中的线程顺序打印
java并发的艺术_Java并发编程的艺术(一)相关推荐
- JAVA线程并发数量控制_Java并发工具类(三):控制并发线程数的Semaphore
作用 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源. 简介 Semaphore也是一个线程同步的辅助类,可以维护当前访问自身的线程个数 ...
- java 共享锁 独占锁_Java并发编程锁之独占公平锁与非公平锁比较
Java并发编程锁之独占公平锁与非公平锁比较 公平锁和非公平锁理解: 在上一篇文章中,我们知道了非公平锁.其实Java中还存在着公平锁呢.公平二字怎么理解呢?和我们现实理解是一样的.大家取排队本着先来 ...
- java中解决脏读_java并发编程学习之脏读代码示例及处理
使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即 ...
- Java并发基础总结_Java并发编程笔记之基础总结(二)
一.线程中断 Java 中线程中断是一种线程间协作模式,通过设置线程的中断标志并不能直接终止该线程的执行,而是需要被中断的线程根据中断状态自行处理. 1.void interrupt() 方法:中断线 ...
- java并发数据共享机制_Java并发编程:核心理论之数据共享性
原标题:Java并发编程:核心理论之数据共享性 并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能.它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰.思维缜密,这 ...
- java 关闭守护线程_Java并发编程之线程生命周期、守护线程、优先级、关闭和join、sleep、yield、interrupt...
Java并发编程中,其中一个难点是对线程生命周期的理解,和多种线程控制方法.线程沟通方法的灵活运用.这些方法和概念之间彼此联系紧密,共同构成了Java并发编程基石之一. Java线程的生命周期 Jav ...
- java线程本地变量_Java并发编程示例(九):本地线程变量的使用
这篇文章主要介绍了Java并发编程示例(九):本地线程变量的使用,有时,我们更希望能在线程内单独使用,而不和其他使用同一对象启动的线程共享,Java并发接口提供了一种很清晰的机制来满足此需求,该机制称 ...
- java程序使用异步总线_JAVA并发编程基础
CPU核心 核心(Die)又称为内核,是CPU最重要的组成部分.CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算.接受/存储命令.处理数据都由核心执行.各种CP ...
- java queue 线程安全_java并发编程之线程安全方法
线程安全的实现方法,包含如下方式 一, 互斥同步 使用互斥锁的方式. 举个栗子 synchronized,最常用的同步实现方案, ReentrantLock,java并发包中工具,后续介绍. 互斥同步 ...
最新文章
- 备忘--Sinfors 设备出厂IP
- Python做文本挖掘的情感极性分析
- java的socket读取一行就结束运行了?使用这种方法可以读取多行数据!
- C++三大继承构造函数的执行顺序详解
- delphi中的ParamStr
- ionic更改端口号
- filter2D函数的.depth()变量的设定
- websocket的WebSocketServer无法注入service
- 阻塞会话_使用根会话解决SQL阻塞链并进行故障排除
- element提交图片限制一张_element-ui上传图片限制图片比例
- 快轮天才发明家刘峰,上榜福布斯2017年亚洲人物
- react-native升级到0.63ios图片不展示
- 树莓派安装win10
- Deepin 深度技术 Windows XP SP2 珍藏版
- 清理谷歌浏览器注册表_Win10系统下注册表chrome残留无法删除
- 文本自动生成研究进展与趋势
- [JS jQuery项目]仿网易云音乐项目问题摘要
- 数据结构队列之企业级应用--优先队列
- FM-分解机模型详解
- CodeForce 597ADivisibility