public class MyTestThread1 {
/**
* 利用线程的知识,完成一个线程负责打印1-26的数字,另一个线程负责打印A-Z
* @author user
*
*/
public static void main(String[] args) {
Object obj = new Object();
Thread1 t1 = new Thread1(obj);
t1.start();
Thread2 t2 = new Thread2(obj);
Thread thread = new Thread(t2);
thread.start();
}
}
class Thread1 extends Thread{
private Object obj;
public Thread1(Object obj) {
this.obj = obj;
}
@Override
public void run() {
synchronized (obj) {
for(int i = 1;i <= 26;i++){
System.out.print(2*i - 1+" ");
System.out.print(2*i+" ");
obj.notifyAll();
try {
obj.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
class Thread2 implements Runnable{
private Object obj;
public Thread2(Object obj) {
this.obj = obj;
}
public void run() {
synchronized (obj) {
for (char c = 'A'; c <= 'Z'; c++) {
System.out.print(c+" ");
obj.notifyAll();
try {
obj.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
启动两个线程,一个线程打印1~52,另一个线程打印A~Z
创建一个带三个子线程的程序,第一个线程启动10ms后,第二个线程再启动,然后再等待10ms后第三个线程启动,每一个线程从1—1000循环输出线程的名称和计数,当三个线程结束时要输出各自的结束信息,然后主线程结束。
实现两个线程,一个线程打印1-52,另一个线程打印A-Z,要求输出的结果如下: 1 2 A 3 4 B 5 6 C 7 8 D 9 10 11 12 ... 52 E F G H I J K ... X Y Z 即:当数字小于9时,数字和字母交替打印; 当数字大于等于9时,先把...
HSDIS查看Java代码的汇编指令 java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssemble 使用 LockSupport.park()and unpark() public static void main(String[] args) { char[] aI = 1234567.toCharArray();...
1. 写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。 学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两个不同的时间间隔( 1 秒和 3 秒)在屏幕上显示当前时间。...
在给定的“java代码-3线程输出26个英文”场景中,我们可以理解为有一个程序创建了三个线程,它们协同工作来打印26个英文字母。这个简单的例子有助于我们深入理解Java中的线程同步和并发控制。 首先,我们需要了解...
在多线程环境中,一个程序可以包含多个线程,每个线程都是独立的执行路径,它们可以并发执行,这样可以更有效地利用系统资源。 #### 二、Java多线程基础 1. **线程创建**: - 继承`Thread`类。 - 实现`Runnable`...
本项目"**C#Socket 多线程聊天室A**"是一个很好的学习资源,它展示了如何利用C#的Socket类进行网络通信以及如何通过多线程来处理并发用户的需求。 首先,我们要理解Socket。Socket是网络编程的基础,它提供了进程间...
这个“ios-A-Z 拼音排序.zip”压缩包可能包含了实现这一功能的相关代码示例或资源。下面,我们将深入探讨如何在iOS应用中实现拼音排序以及相关的技术细节。 1. **拼音转换**: - 在iOS中,我们需要将中文字符串...
"A-Z字母排序&索引 ListView"指的是实现一种功能,即用户可以通过一个侧边栏或者顶部的字母索引快速定位并浏览以字母顺序排列的数据。这个功能常见于联系人应用或者其他需要按字母顺序查找内容的应用中。 1. **...
这个压缩包包含了一份PDF文档,详细阐述了与Intel处理器相关的编程和体系结构信息。 描述中的“64-ia-32-architectures-software-developer-vol-2b-manual”是对标题的简洁重述,进一步强调这是关于64位Intel架构的...
本教程将深入讲解如何在ListView中实现点击侧边A-Z快速查找功能,这是一个提高用户体验的重要特性,特别是当应用处理大量分类数据时。 首先,我们需要理解ListView的基本工作原理。ListView通过Adapter将数据源与...
- **选择其中一个受影响的事务进行回滚,而让另一个事务继续执行**:这是InnoDB默认处理死锁的方式。当检测到死锁时,InnoDB会选择其中一个事务进行回滚,以便其他事务可以继续执行,从而避免长时间的等待或无限循环...
1. **CPU信息**:CPU-Z可以详细显示CPU的型号、制造工艺、核心电压、时钟速度、核心数量、线程数以及支持的指令集等。这对于了解电脑的计算能力、判断是否适合运行高性能应用或者超频操作非常有帮助。 2. **内存...
例如,线程A持有资源1并请求资源2,而线程B持有资源2并请求资源1,此时就会形成死锁。Java提供了synchronized关键字和java.util.concurrent包下的锁类(如ReentrantLock)来实现线程同步,但不当使用可能导致死锁。 ...
标题“Z170-A macOS Sierra Clover-3835”指的是一个针对Z170-A主板优化的macOS Sierra安装方案,其中Clover是一个重要的引导加载器。这个方案允许用户在非苹果硬件上安装并运行苹果的操作系统macOS Sierra。Z170-A...
这个设计允许用户快速浏览并定位到他们想要找的联系人,通过滑动一个A-Z索引条来直接跳转到以相应字母开头的联系人列表。这种功能在大型联系人库中尤其有用,因为用户可以迅速找到目标联系人,而无需逐个滚动整个...
订单号325383-076US对应的是“指令集参考A-Z”这一卷,发布日期为2021年12月。 【标签】:“英特尔x86”表明了讨论的重点是英特尔公司的x86系列处理器架构,这是个人计算机领域最广泛使用的处理器架构之一,包括32...
本篇文章将深入探讨如何在Android中实现一个按A-Z分组的ListView城市列表。 首先,我们需要一个包含所有城市的数据库或数据结构,每个城市都有一个与之关联的首字母。数据源可以是SQLite数据库、JSON文件或者网络...
在使用Performance Schema检查单一主服务器的复制情况时,如果slave-parallel-type设置为DATABASE,并且所有仪器和消费者都启用且所有线程都被仪器化,可以得出的结论是B和C,即从服务器配置了4个slave_parallel_...