使用两个线程交替打印0到100的奇数和偶数
来源:互联网 发布:淘宝福利群是运作的 编辑:程序博客网 时间:2024/04/28 19:09
使用两个线程分别打印 0 到 100 的奇数和偶数,先让两个类实现Runnable 接口,再在主线程中调用,利用wait() 和 notify() 来实现,代码如下:
public class Run1 implements Runnable { int i=-2; @Override public void run() { while(i<=98) { synchronized (Main.m) { System.out.println("Thread1: "+ (i+=2)); Main.m.notify(); try { Main.m.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } } }}
public class Run2 implements Runnable { int i= -1; @Override public void run() { while(i<=98) { synchronized (Main.m) { System.out.println("Thread2: "+ (i+=2)); Main.m.notify(); try { Main.m.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } } }}
最后是主线程:
public class Main { final static Main m = new Main(); //final static Object o = new Object(); 这样也可以,这样可以保证同步锁锁的是同一个对象, //就像厕所只有一个,有人进去就锁住,而改成 Object o 之后只需在上面两个类中把 Main.m 改成 //Main.o 即可。 //需要注意的是,如果这里没有声明 Main m 或者 Object o, //而是分别在两个类中 分别使用 this 或者 Object o 来作为锁的参数,即使用了两个对象,相当于拥有了两 //厕所,同步锁也就失去了意义。 //所以,只要保证同步锁锁的是同一个对象即可。 public static void main(String[] args) { new Thread(new Run1()).start(); new Thread(new Run2()).start(); }}
0 1
- 使用两个线程交替打印0到100的奇数和偶数
- 多线程技术: 两个线程交替打印奇数和偶数
- java两个线程打印奇数和偶数
- Java多线程交替打印奇数和偶数
- Java两个线程轮换打印1-100内的奇数和偶数
- 简单编程(二十)将奇数和偶数分别存入到两个不同的数组中,并按奇数、偶数交替的顺序输出
- 两个线程的交替打印
- 实现两个线程A,B,A打印5个奇数,B打印5个偶数,交替进行,如此循环50次
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法一)
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法二)
- 1到100之间的和、偶数和、奇数和
- 使用while语句,分别求1到100的奇数和 和 偶数和
- 使用Java线程并发库实现两个线程交替打印的线程题
- 两个线程交替打印ABABAB
- 两个线程交替打印ABABAB
- 两个线程交替打印ABCDEF
- 分别打印1到10000以内的奇数和和偶数和
- Android-利用Uri获取返回的参数即getQueryParameter()方法的使用
- ZSC 1316 取石子 (nimm + bash)
- 判断是否是微信浏览器
- python笔记1 对象类型小结
- WAMP环境下,Apache的端口号未被占用,但无法启动的问题
- 使用两个线程交替打印0到100的奇数和偶数
- Intellijidea建javaWeb以及Servlet简单实现
- 括号配对问题
- 第五周项目-构造三角形类(1)
- mac tab 补全设置
- (二)Html5创建表单及按钮
- head frist 设计模式学习之 装饰者模式
- 我是如何招聘程序员的(转载)
- Django1.8静态文件配置