我是靠谱客的博主 秀丽过客,最近开发中收集的这篇文章主要介绍java线程中的synchronized关键字和sleep()方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java线程中的synchronized关键字sleep()方法

直接po代码和截图

源码点这里

Service类

package com.demo.thread5;

public class Service {
	
	public void a() {
		System.out.println(Thread.currentThread().getName() + ",我是普通方法a()开始部分$$$$$$$$$");
		b(); //调用同步方法b()
		System.out.println(Thread.currentThread().getName() + ",b()函数调用完成了,我是方法a()结束部分......");
	}

	public synchronized void b() {
		System.out.println(Thread.currentThread().getName() + ",我是同步方法b(),我要睡眠一会儿###########");
		try {
			Thread.sleep(3000); //睡眠3秒钟
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println(Thread.currentThread().getName() + ",我是同步方法b(),我睡眠完了,我是同步方法b()结尾部分-----");	
	}
}

A类

package com.demo.thread5;

public class A implements Runnable{
	
	Service service;

	public A(Service service) {
		this.service = service;
	}

	@Override
	public void run() {
		service.a();
	}
	

}

B类

package com.demo.thread5;

public class B implements Runnable{
	
	Service service;

	public B(Service service) {
		this.service = service;
	}

	@Override
	public void run() {
		service.a();
	}
	

}

C类

package com.demo.thread5;

public class C implements Runnable{
	
	Service service;

	public C(Service service) {
		this.service = service;
	}

	@Override
	public void run() {
		service.a();
	}
	

}

Test类

package com.demo.thread5;

public class Test {

	public static void main(String[] args) {
		Service service = new Service();

		//3个线程同时操作同一个对象service
		A a = new A(service);
		B b = new B(service);
		C c = new C(service);

		//给3个线程分别取个名字
		Thread thread1 = new Thread(a, "线程1");
		Thread thread2 = new Thread(b, "线程2");
		Thread thread3 = new Thread(c, "线程3");
		
		//启动线程
		thread1.start();
		thread2.start();
		thread3.start();
	}

}

运行结果如下:可以多运行几次

运行结果,情况1

运行结果,情况2

运行结果,情况3

 

最后

以上就是秀丽过客为你收集整理的java线程中的synchronized关键字和sleep()方法的全部内容,希望文章能够帮你解决java线程中的synchronized关键字和sleep()方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部