`

Java中 synchronize、wait和notify3

阅读更多
package com.java.lang.thread.synchronized_example;

public class _Thread extends Thread {

	@Override
	public synchronized void run() {
		for(int i=0;i<5;i++){
			System.out.println("in run method");
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	public synchronized void print1(){
		for(int i=0;i<5;i++){
			System.out.println("in print1 method");
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}

	public void print2(){
		for(int i=0;i<5;i++){
			System.out.println("in print2 method");
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
}


package com.java.lang.thread.synchronized_example;

public class _Main {
	public static void main(String[] args) {
		_Thread thread1 = new _Thread();
		thread1.start();
		
		
		_Thread thread2 = new _Thread();
		thread2.print1();
		
		
		_Thread thread3 = new _Thread();
		thread3.print2();
	}
}

分享到:
评论

相关推荐

    第-章-JAVA多线程优秀文档.pptx

    JAVA 多线程是 Java 语言中的一种机制,允许程序同时执行多个任务,以提高程序的效率和响应速度。本文档将详细介绍 JAVA 多线程的概念、特点、创建方式、线程生命周期、同步机制、线程通信等知识点,并通过实例分析...

    Thread Test result output

    根据给定的文件信息,我们可以深入探讨Java中的多线程同步机制,特别是关于`wait()`、`notify()`和`synchronized`关键字的使用及其在实际应用中的表现。此测试结果输出揭示了多线程环境中线程的启动、等待、唤醒以及...

    java技术储备,如何提升自己

    2. wait() 和 notify():了解 wait() 和 notify() 的区别和用法。 3. volatile:深入理解 volatile 关键字的作用和实现机制。 4. CAS:了解 CAS(Compare And Swap)的实现机制和应用场景。 5. JUC 工具类:了解 JUC...

    积分管理系统java源码-AndroidKnowledgeSystem:Android知识架构体系

    wait和notify 线程池 锁 源码分析concurrent包 ConcurrentHashMap CopyOnWriteArrayList BlockingQeque ThreadLocal 反射 Kotlin Kotlin的优势 协程 Android热门技术 代码插桩技术 动态代理 插件化 热修复 日志系统 ...

    java面试题库(非常全面).

    6. **多线程**:线程的创建方式(Thread类和Runnable接口),同步机制(synchronized关键字、wait/notify、Lock接口等),并发容器(如ConcurrentHashMap)的使用。 7. **IO流**:了解字节流和字符流的区别,缓冲流...

    java 多线程的几种实现方法总结

    在 Java 中,同步的实现方法有两种:使用 synchronized 关键字和使用 wait、notify、notifyAll 方法。使用 synchronized 关键字可以使得某个方法或代码块在多线程中同步执行,而使用 wait、notify、notifyAll 方法...

    Java大数据面试常见问题.docx

    Hashtable 的区别、final、finally、finalize 的区别、switch 语句的使用、多线程的实现方法、Java 中的流类型、main 方法的访问权限、私有方法和传值、equals 方法的重写、Java 的平台独立性等。 1. String 和 ...

    Java线程/内存模型的缺陷和增强

    为了实现同步,Java提供了synchronize关键字以及object的wait()/notify()机制,可是在简单易用的背后,应藏着更为复杂的玄机,很多问题就是由此而起。 一、Java内存模型 在了解Java的同步秘密之前,先来看看JMM...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    synchronized用法大全实例

    `synchronized`还提供了基于`wait()`、`notify()`和`notifyAll()`的方法,用于线程间的通信。这些方法必须在同步块或同步方法中使用,否则会抛出`IllegalMonitorStateException`。等待/通知机制可以让一个线程在特定...

    xiancheng.rar_4EM_线程

    此外,wait()、notify()和notifyAll()方法也是线程同步的关键,它们用于线程间的通信,控制线程的执行顺序。 线程还有优先级的概念,Java提供了10个级别的线程优先级,从MIN_PRIORITY(1)到MAX_PRIORITY(10)。...

    Java Thin-Client Programming

    - **工作原理:**解释了条件变量如何通过wait()和notify()/notifyAll()方法来实现线程间的等待和唤醒。 - **读写互斥锁(Read-Write Mutexes)** - **定义:**读写互斥锁允许多个读取线程同时访问共享资源,但只...

    Effective Java 3rd edition(Effective Java第三版英文原版)附第二版

    Item 81: Prefer concurrency utilities to wait and notify Item 82: Document thread safety Item 83: Use lazy initialization judiciously Item 84: Don’t depend on the thread scheduler 12 Serialization ...

    Android代码-progress前台运算.zip

    在多线程环境中,需要确保数据的一致性和安全,可以使用 synchronize 关键字、wait() 和 notify() 方法,或者使用 Java并发工具类如 CountDownLatch 和 CyclicBarrier 进行线程间的同步与通信。 综上所述,Android...

    进销存系统文档作业例子

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、...

Global site tag (gtag.js) - Google Analytics