<Java多线程编程核心技术>讲解得太细致啦

179 阅读2分钟
原文链接: yq.aliyun.com

<Java多线程编程核心技术>讲解得太细致啦

天飞 2017-12-28 16:28:20 浏览1086 评论0

摘要: 一个synchronized关键字,能讲一百多页,搞出几十个小举例。 我是服了!

一个synchronized关键字,能讲一百多页,搞出几十个小举例。

我是服了!

但真的一路演练一下,

对这个关键的应用场景还是了解了很多的。


3cdb9886b439ebe0296739e4a5281cf1fee60dd6



fd497d7cffe904af9995c9f8bcf42f67948f0e3afd497d7cffe904af9995c9f8bcf42f67948f0e3a



package test;

public class Service {
	private boolean isContinueRun = true;
	public void runMethod() {
		String anyString = new String();
		while (isContinueRun == true) {
			synchronized (anyString){
				
			}
			
		}
		System.out.println("have stopped.");
	}
	
	public void stopMethod() {
		isContinueRun = false;
	}

}


package test;

public class ThreadA extends Thread {
	private Service service;
	public ThreadA(Service service) {
		super();
		this.service = service;
	}
	
	@Override
	public void run() {
		service.runMethod();
	}

}



package test;

public class ThreadB extends Thread {
	private Service service;
	public ThreadB(Service service) {
		super();
		this.service = service;
	}
	
	@Override
	public void run() {
		service.stopMethod();
	}

}


package test;



public class Run {

	public static void main(String[] args) throws InterruptedException {
		// TODO Auto-generated method stub
		try {
			Service service = new Service();
			ThreadA a = new ThreadA(service);
			a.start();
			Thread.sleep(1000L);
			ThreadB b = new ThreadB(service);
			b.start();
			System.out.println("have set stop order.");
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

}


【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击 评论 (0) 点赞 (0) 收藏 (0)
分享到:

相关文章

网友评论