Java多线程方面的编程笔试题(通过继承Thread类启动线程)
2017-04-24 16:28
579 查看
/* * 写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。要求用线程间的通信。 * 注:分别给两个对象构造一个对象o,数字每打印两个或字母每打印一个就执行o.wait()。 */ public class TestExtends{ public static void main(String[] args) { Printer p = new Printer(); Thread t1 = new NumberPrinter(p); Thread t2 = new LetterPrinter(p); t1.start(); t2.start(); } } /* * 主方法 */ class Printer{ private int index = 1;//设为1,方便计算3的倍数 //打印数字的构造方法,每打印两个数字,等待打印一个字母 public synchronized void print(int i){ while(index%3==0){ try{ wait(); }catch(Exception e){ } } System.out.print(" "+i); index++; notifyAll(); } //打印字母,每打印一个字母,等待打印两个数字 public synchronized void print(char c){ while(index%3!=0){ try{ wait(); }catch(Exception e){ } } System.out.print(" "+c); index++; notifyAll(); } } //打印数字的线程 class NumberPrinter extends Thread{ private Printer p; public NumberPrinter(Printer p){ this.p = p; } public void run(){ for(int i = 1; i<=52; i++){ p.print(i); } } } //打印字母的线程 class LetterPrinter extends Thread{ private Printer p; public LetterPrinter(Printer p){ this.p = p; } public void run(){ for(char c='A'; c<='Z'; c++){ p.print(c); } } }
相关文章推荐
- Java多线程方面的编程笔试题(通过实现Runnable接口启动线程)
- Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.
- Java核心内库-线程-通过继承Thread类创建并启动线程
- Java通过继承Thread类实现多线程
- 如果一个类通过继承Thread来实现多线程的话,则不适合多个线程共享资源,而通过实现Runnable就可以做到这一点
- java编程之多线程 入门级,继承Thread类
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- 在java编程时,线程创建实现Runnable接口与继承Thread类的不同
- JAVA通过继承Thread来创建线程
- Java学习笔记67. 创建多线程的方法 -- 通过继承thread类创建多线程
- java两种启动线程方法根本不同,Thread继承和实现Runable接口
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- JAVA与多线程开发(线程基础、继承Thread类来定义自己的线程、实现Runnable接口来解决单继承局限性、控制多线程程并发)
- Java并发编程之线程创建和启动(Thread、Runnable、Callable和Future)
- 启动线程的五种方式方法(通过继承Thread类或实现Runnable接口)
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- Java多线程-(4)线程的创建、启动、Runnable和Thread
- (十)java并发编程--创建和启动线程(java.lang.Thread 、java.lang.Runnable)
- JAVA通过继承Thread来创建线程
- java多线程-概念&创建启动&中断&守护线程&优先级&线程状态(多线程编程之一)