Java多线程方面的编程笔试题(通过实现Runnable接口启动线程)
2017-04-24 16:23
761 查看
/* * 写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。要求用线程间的通信。 * 注:分别给两个对象构造一个对象o,数字每打印两个或字母每打印一个就执行o.wait()。 */ public class TestImplements { public static void main(String[] args){ Printer p = new Printer(); A a = new A(p); B b = new B(p); Thread c = new Thread(a); Thread d = new Thread(b); c.start(); d.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 A implements Runnable { Printer p; public A(Printer p){ this.p = p; } @Override public void run() { // TODO Auto-generated method stub for(int a=1;a<=52; a++){ p.print(a); } } } class B implements Runnable { Printer p; public B(Printer p){ this.p = p; } @Override public void run() { // TODO Auto-generated method stub for(char b='A';b<='Z';b++){ p.print(b); } } }
相关文章推荐
- Java多线程方面的编程笔试题(通过继承Thread类启动线程)
- Java【多线程知识总结(4)】通过实现Runnable接口创建线程
- Java【多线程知识总结(4)】通过实现Runnable接口创建线程
- Java核心内库-线程-通过实现Runnable接口的方式创建并启动线程
- Java 线程启动(实现Runnable接口)
- java 通过 Runnable 的接口 实现了 多线程
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- 在java编程时,线程创建实现Runnable接口与继承Thread类的不同
- Java通过实现Runnable接口来创建线程
- 实现Runnable接口,通过Thread启动多线程
- Java通过实现Runnable接口来创建线程
- JAVA与多线程开发(线程基础、继承Thread类来定义自己的线程、实现Runnable接口来解决单继承局限性、控制多线程程并发)
- java多线程编程之使用runnable接口创建线程
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- 启动线程的五种方式方法(通过继承Thread类或实现Runnable接口)
- 多线程(一)——通过实现Runnable接口创建线程
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- 黑马程序员——java第十一、十二天:多线程(创建线程1-2、多线程同步代码、实现Runnable接口、安全死锁)
- Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.
- java中的通过继承Thread和实现Runnable接口实现的线程