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();
	}
}

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

相关文章推荐

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

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

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

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

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

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

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

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

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

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

【Java并发编程】之十一:线程间通信中notify通知的遗漏(含代码)

线程间通信中notify通知的遗漏

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

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

java多线程-线程间通信-示例代码-解决安全问题-等待唤醒机制wait()notify()notifyAll()

线程间通信 例程: Input→资源→Output 思考1:wait(),notify(),notifyAll(),用来操作线程为什么定义在了Object类中? 1,这...

Java笔记3 多线程<2>线程间通信-代码分析以及多线程常见方法的运用

第12天-01-多线程(线程间通信-示例代码) /* 线程间通讯: 其实就是多个线程在操作同一个资源, 但是操作的动作不同。   */ class Res{              ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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