public class testSyn {
static NeedSynchronized a = new NeedSynchronized();
public static void main(String args[]) {
for (int i = 0; i < 100; i++) {
Thread thread = new Thread() {
public void run() {
int radom = a.seletMaxApproveNo();
System.out.println(radom);
}
};
thread.start();
}
}
}
可以把生成a对象的代码写到run方法中,再测试同步不起作用,所以,同步的方法默认只能同步此类生成的一个对象,当生成多个对象时,同步就不起作用, 要使spring的bean中的某个方法成为同步的方法,需要在bean的配置文件上加:scope="singleton" 这样就能保证这个类生成的对象是单例模式.
public class NeedSynchronized {
// 为了同步加的锁
public static int maxApproveNo = 0;
private byte[] lock1 = new byte[0];
// 查询本年度最大新书核准号
public int seletMaxApproveNo() {
synchronized (lock1) {
// 查找数据库中存储的最大核准号
maxApproveNo += 1;
for (int i = 0; i < 1000000; i++) {
}
System.out.println("------------------");
return maxApproveNo;
}
}
}
分享到:
相关推荐
Java同步网络时间是一个常见的任务,尤其对于需要时间精确性的应用来说非常重要。这个任务可以通过Java的NTP(Network Time Protocol)库来实现。NTP是一种互联网协议,用于在计算机之间同步时间,确保网络上的设备...
Java 使用 DataX 进行增量同步是大数据领域中常见的数据迁移任务,DataX 是阿里开源的一个强大、高效的数据同步工具,它可以实现不同数据存储之间的数据迁移。本篇将详细讲解如何在 Java 项目中利用 DataX 实现增量...
下面我们将深入探讨如何使用Java实现两个MySQL数据库之间的数据同步,以及涉及的相关知识点。 首先,我们需要理解MySQL的复制原理。MySQL的主从复制是基于日志的,主库上的所有更改都会被记录到二进制日志(binlog...
Java数据实时同步系统是一种用于在不同数据库之间进行实时数据交换的技术解决方案。这种系统的主要目标是确保数据的一致性和完整性,特别是在分布式环境中,当数据需要在远程数据库和本地数据库之间频繁流动时。以下...
功能: 同步不同数据库之间的数据,比如postgresql到oracle,oracle到oracle,不限于此,支持自己配置。 实现思路: ...每个子线程的轮询检测时间都可以在配置文件中单独设置,并可设置屏蔽使用子线程
在"JavaDBTest"这个示例中,我们可以推测这是一个用于测试上述主从同步功能的Java程序。它可能包含了创建和管理线程、与数据库交互的代码,以及各种同步和异常处理逻辑。为了进一步学习和实践,你可以查看并分析这个...
3. **Java同步机制** - **synchronized关键字**:Java中的`synchronized`关键字用于实现线程同步,它可以修饰方法或代码块。当一个线程进入`synchronized`区域时,其他线程必须等待,直到该线程完成执行。 - ** ...
### Java资源同步详解 在Java开发中,资源同步是一个非常重要且常见的问题,尤其是在多线程环境中,合理地管理资源能够有效提升程序的稳定性和效率。根据提供的标题与描述,本次将深入探讨“Java资源同步”的相关...
java类获取网络时间操作cmd命令(打成jar包了,就一个sysTimeTest类,30行代码用反编译工具一看就懂,网上也有很多例子)。然后打成jar包,windows批处理操作,单次同步更新windows系统时间,每天定时同步更新windows...
1. **文件检测**:程序需要持续监控指定的文件或目录,一旦检测到有新的、修改的或删除的文件,就需要触发同步操作。这可以通过文件系统的监听器(如Java的WatchService API)来实现。 2. **文件传输**:文件的传输...
Java同步线程模型分析与改进 本文讨论了Java同步线程模型的缺陷和改进方法。Java是一种支持多线程编程的语言,但是在实际应用中,Java的线程模型存在一些缺陷,例如同步问题。目前,普遍采用急救包(Band-Aid)类库...
本文针对Java同步线程模型存在的问题,提出了扩展`synchronized`关键字语法和支持超时检测的`wait()`方法的改进方案。这些改进不仅增强了Java多线程编程的灵活性,还提高了程序的性能、稳定性和可靠性。未来的研究...
在这个“关于CoreJava同步的疑惑例子”中,我们将探讨Java中的同步机制,以及如何通过示例代码`Bank.java`, `TransferRunnable.java`, 和 `SynchBankTest.java`来理解这个概念。 1. **同步的必要性** 当多个线程...
首先,Java同步主要指的是通过特定机制(如`synchronized`关键字、`Lock`接口等)来控制多个线程对共享资源的访问,以避免竞态条件。竞态条件是指当两个或更多线程可以同时修改同一变量,且结果取决于它们的执行顺序...
下面我们将详细探讨WebSocket的工作原理、如何在Java中实现WebSocket以及同步问题。 1. **WebSocket工作原理**: WebSocket协议通过一次握手(Upgrade头)将HTTP连接升级为WebSocket连接。一旦握手成功,客户端和...
Java分布式数据库同步系统是针对大型企业或互联网公司在全球范围内拥有多个数据中心时,为确保数据的一致性和可用性而设计的一种解决方案。在这个系统中,我们主要关注的是如何在中美两地的异地机房之间实现高效、...
在Java编程中,多线程是...总之,掌握Java的线程同步锁,理解生产者消费者问题及其解决策略,是成为一名合格的Java开发者所必需的技能。通过实际的编程练习,你可以更好地领会这些概念,并运用到实际的并发应用程序中。
"Java培训测试题"是一个针对平安科技深圳有限公司员工入职培训的资源集合,旨在帮助员工掌握和巩固Java编程的基本概念和技术。这个资源包可能包含了一系列的练习题、复习材料以及额外的副本,以确保学习者全面理解和...
### Java并发大神Doug Lee同步队列论文解析 #### 概述 《Scalable Synchronous Queues》这篇论文由William N. Scherer III、Doug Lea与Michael L. Scott三位专家共同完成,旨在提出两种新型非阻塞且无竞争的同步...