java 线程间通信同步代码块

原创 2016年08月30日 21:13:33
import java.lang.*;
class Res
{
	String name;
	String sex;
	boolean flag=false;
	public synchronized void set(String name,String sex)
    {
		if(flag)
		 try
		 {
			this.wait();
		 }
		 catch (Exception e)
		 {
		 }
		this.name=name;
		this.sex=sex;
		flag=true;
		this.notify();
	}
	public synchronized void out()
	{
		if(!flag)
		 try
		 {
			this.wait();
		 }
		 catch (Exception e)
		 {
		 }
		System.out.println(name+"----"+sex);
		flag=false;
		this.notify();
	}

}
class Input implements Runnable
{
	private Res r;
	public Input(Res r)
	{
		this.r=r;
	}
	public void run()
	{
		int x=0;

		while(true)
		{
          if(x==0)
               r.set("lkb","manan");
			else
               r.set("呵呵","你猜");
			x=(x+1)%2;
		}
	}
}

class Output implements Runnable
{
    private Res r;
	public Output(Res r)
	{
		this.r=r;
	}
	public void run()
	{
		while(true)
		{
			r.out();
		}
	}
}
class InputOutput2 
{
	public static void main(String[] args) 
	{
	Res r=new Res();
	new Thread(new Input(r)).start();
	new Thread(new Output(r)).start();
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java线程同步和线程间通信代码和控制线程关闭

class Producer implements Runnable {Q q;// 定义队列public Producer(Q q) {this.q = q;}public void run() {...

GCD的定义及使用详解(同步异步、并发串行、线程间通信、延时执行、只执行一次代码)

GCD 1、Grand Central Dispatch是由苹果开发的一个多核编程的解决方案,自动管理现成的生命周期(创建线程、调度任务、销毁线程)。 2、主要包括任务(执行什么操作)和队列(用来存放...

android 线程间通信显示同步时间

  • 2014年01月19日 15:26
  • 1.41MB
  • 下载

java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(多线程编程之二)

多线程系列教程: java多线程-概念&创建启动&中断&守护线程&优先级&线程状态(一) java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(二) 本篇我...

java线程间通信_线程同步_等待唤醒机制

/* * 线程间通信 * 本例子编码分为3部分 * 代码后面是无注释表示第一次编码 * 代码后面是//2表示第二次编码 * 代码后面是//3表示第三次编码 *//* * 两个线程的共享资源 * 单例设...

Java线程间通信的同步问题、wait/notify使用

Java线程间通信简单来说就是多个线程同时操作同一个资源,比如一个线程设置了姓名、性别,另一个线程读取姓名、性别。 伴随而来的就是同步问题:比如线程a先设置了张三、男,后设置了李四、女,线程b要打印这...

【Java并发编程】之十二:线程间通信中notifyAll造成的早期通知问题(含代码)

如果线程在等待时接到通知,但线程等待的条件还不满足,此时,线程接到的就是早期通知,如果条件满足的时间很短,但很快又改变了,而变得不再满足,这时也将发生早期通知。这种现象听起来很奇怪,下面通过一个示例程...

【Java并发编程】之十二:线程间通信中notifyAll造成的早期通知问题(含代码)

如果线程在等待时接到通知,但线程等待的条件还不满足,此时,线程接到的就是早期通知,如果条件满足的时间很短,但很快又改变了,而变得不再满足,这时也将发生早期通知。这种现象听起来很奇怪,下面通过一个示例程...

【Java并发编程】之十二:线程间通信中notifyAll造成的早期通知问题(含代码)

线程间通信中notifyAll造成的早期通知问题

【Java并发编程】:线程间通信中notifyAll造成的早期通知问题(含代码)

如果线程在等待时接到通知,但线程等待的条件还不满足,此时,线程接到的就是早期通知,如果条件满足的时间很短,但很快又改变了,而变得不再满足,这时也将发生早期通知。这种现象听起来很奇怪,下面通过一个示例程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 线程间通信同步代码块
举报原因:
原因补充:

(最多只允许输入30个字)