线程简单通信 线程回调 例子

public class Test {

	public static void main(String[] args) {
		// 回调接口
		// 小王,小张
		// 小王向小张求教问题
		// 同步 小王问小张 1+1 = ?
		//实例化小张
		XiaoZhan mXiaoZhan = new XiaoZhan();
		
		//调用add方法     有返回值可以直接打印出来
		System.out.println(mXiaoZhan.add(1, 1));
		
		//小王问小张 沟谷定理   小张想了一下  然后再回答他 
		//凋用aougu()线程睡眠方法    有返回值可以直接打印
		System.out.println("沟谷定理是"+mXiaoZhan.aougu());
		// 查询资料之前,我需要将电话号码告诉小张		
		//小王又问地球为什么是圆的    小张一下子回答不出来  下面开起了另一个线程   
		//小王做自己要做的事,小张去找资料回答小王
		//开起线程
		mXiaoZhan.start();
		System.out.println("自己做自己的事");
	}

}
public class XiaoZhan extends Thread {
	//方法一,回答小王1+1的问题
	public int add (int x,int y){
		return x + y ;
	}
	//方法二,回答小王沟谷定义,,一下子回答不出,
	public String aougu() {
		try {
			Thread.sleep(500);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		return "a的平方+b的平方 = c的平方";
	}
	//方法三,调用Thread类中的run()方法实现  一个人查资料  另一个人可以做其它的事
	//使用了线程之间的  线程通信  
	//实现接口

	@Override
	public void run() {
		super.run();
		System.out.println("开始查资料");
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("终于查到了");
		//调用接口的实现方法
		phone.call("这个问题太深奥,搜了两天,没搜到");
	}
	
	//建一个 线程通信接口CallPhone 接口定义一个  call  方法
	public static interface CallPhone{
		//有参方法
		public void call(String str);
	}
	//实现上面定义的接口    CallPhone phone =new CallPhone(); 实例化加分号这里同样也要加
	CallPhone phone =new CallPhone() {
		//实现接口方法
		@Override
		public void call(String str) {
			//接口具体做法
			System.err.println(str);
		}
	};
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值