博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java多线程通信问题
阅读量:6453 次
发布时间:2019-06-23

本文共 1093 字,大约阅读时间需要 3 分钟。

 

wait(100L)意思为:不占用CPU,线程等待100毫秒

notify():唤醒正在排队等待同步资源的线程优先级最高者结束等待。

notifyAll():唤醒所有正在排队等待同步资源的线程。

并且这三个方法必须在synchronized块内执行否则会报异常

让两个线程循环打印1-100比如a打印1,b打印1,a2,b2

package com.thread.test1;public class TestPrintOne {    /**     * @param args     */    public static void main(String[] args) {        PrintOne one = new PrintOne();        Thread t1 = new Thread(one);        Thread t2 = new Thread(one);        t1.setName("1");        t2.setName("2");        t1.start();        t2.start();    }}class PrintOne implements Runnable {    @Override    public void run() {        for (int i = 0; i <= 100; i++) {            synchronized (this) {                //进入同步块的时候进行唤醒                notifyAll();                System.out                        .println(Thread.currentThread().getName() + "打印的" + i);                try {                    wait();                } catch (InterruptedException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            }        }    }}

 

转载于:https://www.cnblogs.com/84126858jmz/p/5693962.html

你可能感兴趣的文章
简单理解函数回调——同步回调与异步回调
查看>>
POJ 1007
查看>>
Android 多个Activity 跳转及传参
查看>>
中文文本预处理流程(带你分析每一步)
查看>>
anroid 广播
查看>>
AJAX POST&跨域 解决方案 - CORS
查看>>
如何设计企业内部的数据平台?
查看>>
关于最小生成树中的kruskal算法中判断两个点是否在同一个连通分量的方法总结...
查看>>
【译】Linux系统和性能监控(4)
查看>>
开篇,博客的申请理由
查看>>
点滴积累【C#】---C#实现上传word以流形式保存到数据库和读取数据库中的word文件。...
查看>>
Ubuntu常用笔记
查看>>
Token和session 详解
查看>>
JMeter IP欺骗压测
查看>>
Serializers 序列化组件
查看>>
最简单的RPC框架实现
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
CountDownLatch与thread-join()的区别
查看>>
linux下MySQL安装登录及操作
查看>>