`

关于JAVA线程同步

    博客分类:
  • JAVA
 
阅读更多
如果一个对象有多个 synchronized ,某个时刻某个线程
已经进入到了某个synchronized方法,那么在该方法没有
执行完毕前,其他线程是无法访问该对象的任何synchronized
方法。

原因:
JAVA中的每一个对象都有一个锁(lock)或者叫做监视器(monitor).当访问某个
对象的synchronized 方法时,表示将该对象上锁,此时其他任何线程都无法再
去访问该synchronized方法了,直到之前的那个线程执行方法完毕后(或者是抛出
了异常),那么将该对象的锁释放掉,其他线程才有可能再去访问该synchronized方法。



package thread;

public class ThreadTest4 {
public static void main(String[] args) {
Example example = new Example();

TheThread thread = new TheThread(example);

TheThread2 thread1 = new TheThread2(example);

thread.start();

thread1.start();

}
}

class Example {

public synchronized void execute() {

for(int i = 0; i < 20 ;i++) {
System.out.println("hello: "+i);
}
}
public  synchronized void execute2() {

for(int i = 0; i < 20 ;i++) {
System.out.println("word: "+i);
}
}
}

class TheThread extends Thread {

private Example example;

public TheThread(Example example) {
this.example = example;
}

@Override
public void run() {
// TODO Auto-generated method stub
example.execute();
}
}
class TheThread2 extends Thread {

private Example example;

public TheThread2(Example example) {
this.example = example;
}

@Override
public void run() {
// TODO Auto-generated method stub
example.execute2();
}
}






分享到:
评论

相关推荐

    java线程同步java线程同步

    java线程同步java线程同步java线程同步

    java 线程同步 信号量控制同步

    Java 线程同步控制机制 线程同步是 Java 编程中的一种机制,用于控制多个线程之间的资源访问顺序,以避免线程之间的冲突和数据不一致。线程同步的目的就是避免线程“同步”执行,即让多个线程之间排队操作共享资源...

    java线程同步实例

    java线程同步实例,哲学家思考的代码实现,应该是一个比较好的例子

    Java多线程同步论文.doc

    Java多线程同步是Java编程中至关重要的一部分,特别是在并发编程领域。Java提供了多种同步机制来确保线程安全,防止数据不一致性和竞态条件。在Java中,synchronized关键字是实现线程同步的关键,它提供了互斥访问,...

    Java多线程同步.pdf

    "Java多线程同步.pdf" Java多线程同步是指在Java语言中,如何使用synchronized关键字和其他同步机制来确保多线程程序的正确执行。在Java语言中,synchronized关键字用于对方法或者代码块进行同步,但是仅仅使用...

    java多线程同步例子

    java多线程同步互斥访问实例,对于初学者或是温故而知新的同道中人都是一个很好的学习资料

    JAVA 线程实现数据库的主从同步更新

    在Java编程环境中,...总之,使用Java线程实现数据库主从同步更新是一种常见且实用的技术手段,它涉及到多线程编程、数据库操作、事务管理等多个方面。理解和掌握这些知识点对于开发高可用性的分布式系统至关重要。

    java线程同步及通信

    Java线程同步与通信是多线程编程中的关键概念,用于解决并发访问共享资源时可能出现的数据不一致性和竞态条件问题。以下将详细介绍这两个主题,以及如何通过代码示例进行演示。 1. **线程同步**: 线程同步是确保...

    java线程同步详解

    总结一下,Java线程同步的关键点: 1. **线程同步是为了解决共享资源的并发访问问题,防止数据不一致和冲突。** 2. **同步意味着线程排队,依次访问共享资源,而不是同时访问。** 3. **只有共享变量(可变状态)才...

    操作系统实验 多线程同步与互斥 java编写 有界面

    在“操作系统实验 多线程同步与互斥 java编写 有界面”的实验中,可能需要设计一个图形用户界面(GUI),通过按钮或事件触发线程的创建和同步操作,直观地展示线程间的交互和同步效果。例如,可以模拟银行账户转账,...

    java多线程编程总结

    Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-线程池 Java线程:新特征-有返回值的线程 ...

    Java多线程和同步

    Java线程(二):线程同步synchronized和volatile 详细讲解Java 同步的原理技术资料

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...

    java线程同步

    Java线程同步是多线程编程中的一个重要概念,它用于解决在并发环境下多个线程对共享资源的访问问题,以防止数据的不一致性。在Java中,线程同步的机制主要包括锁、同步块、同步方法、volatile关键字以及线程通信(如...

    Java多线程同步具体实例.doc

    Java多线程同步是编程中一个非常重要的概念,特别是在并发编程中,用于解决多个线程访问共享资源时可能引发的数据不一致问题。本实例通过一个简单的火车票售票系统来演示同步机制的应用。 在这个实例中,我们创建了...

    Java 线程同步调用

    Java 线程同步调用的使用,以及同步方法的调用!

    JAVA实现线程间同步与互斥生产者消费者问题

    在Java编程中,线程同步和互斥是多线程编程中的重要概念,它们用于解决多个线程同时访问共享资源时可能出现的问题。本项目通过一个生产者消费者问题的实例,展示了如何在Java中实现线程间的同步与互斥。 生产者消费...

    Java多线程编程总结

    Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-线程池 Java线程:新特征-有返回值的...

    JAVA100例之实例65 JAVA线程同步

    本实例65着重讲解了Java线程同步的实现方法,帮助开发者理解和掌握如何在并发环境中保证代码的正确执行。 首先,我们要了解什么是线程。线程是程序中的执行流,每个线程都有自己的程序计数器、栈、局部变量和常量,...

Global site tag (gtag.js) - Google Analytics