`
zx_code
  • 浏览: 98538 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java模拟并发访问

    博客分类:
  • Java
阅读更多
package thread;

import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class CountDownLatchTest1 {

    // 模拟并发登录网址,查看服务器峰值
    public static void main(String[] args) throws InterruptedException {

        // 锁住所有线程,等待并发执行
        final CountDownLatch begin = new CountDownLatch(1);  


        final ExecutorService exec = Executors.newFixedThreadPool(10);  

        for (int index = 0; index < 10; index++) 
        {
            final int NO = index + 1;  
            
            Runnable run = new Runnable() 
            {
                public void run() {  
                    try {  
                        // 等待,所有一起执行
                        begin.await();
                        //开始模拟登录等待。。。
                        Thread.sleep((long) (Math.random() * 10000));  
                        System.out.println("No." + NO + " execute");  
                    } catch (InterruptedException e) 
                    {  
                    	e.printStackTrace();
                    } 
                    finally {  
                    }  
                }  
            };  
            exec.submit(run);
        }  
        
        System.out.println("开始执行");  
        // begin减一,开始并发执行
        begin.countDown();  
        
        //关闭执行
        exec.shutdown();  
    }
}

3
2
分享到:
评论

相关推荐

    Java 模拟线程并发

    总之,Java模拟线程并发是一个广泛且深入的话题,涵盖了线程的创建、同步、管理和高级并发工具的使用。理解和熟练应用这些知识,能够帮助开发者编写出高效、安全的多线程程序。在实际开发中,应根据具体需求选择合适...

    实现Java高并发隔离 模拟

    这篇博文将探讨如何在Java中实现高并发隔离,并通过模拟来理解其工作原理。 首先,我们要了解并发隔离的几种主要机制: 1. **线程局部存储(ThreadLocal)**:Java中的`ThreadLocal`类提供了一种线程安全的方式,...

    java模拟微信浏览器访问.rar

    这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们可以推测这是一个Java程序,用于模拟微信内置浏览器的行为。下面将详细介绍这个主题的相关知识点。 1. **Java HTTP ...

    http并发访问 java源码

    本项目提供了一个用Java语言实现的HTTP并发访问模拟工具,名为HttpClient。 HttpClient是一个流行的Java库,由Apache软件基金会维护,它允许开发者创建复杂的HTTP客户端应用。这个库提供了丰富的功能,包括但不限于...

    高并发模拟多个用户同时访问

    高并发模拟多个用户同时访问所写接口,用于测试接口所需要的的并发,和接口的最多承受用户量,适用于一些简单的压力测试。

    java7并发编程实战手册 书中源码

    `ThreadTest`可能就是这样一个测试类,它可能包含了各种并发场景的模拟,比如线程间的协作、竞争条件的测试,或者对并发集合如`ConcurrentHashMap`、`CopyOnWriteArrayList`的性能测试。 总之,通过学习和实践这些...

    java多线程模拟处理银行的实时转账交易

    本项目"java多线程模拟处理银行的实时转账交易"旨在通过多线程技术来模拟实现这一过程,确保程序的可扩展性和高效率。 首先,我们需要理解多线程的基本概念。线程是操作系统分配CPU时间片的基本单位,一个进程中...

    java模拟的操作系统

    在Java模拟操作系统中,可能需要抽象出设备类,为不同类型的设备提供通用的接口,同时处理设备的独占性和并发访问问题。 5. **时钟功能**: 时钟是操作系统中用于计时和触发事件的关键组件。模拟时钟可能需要实现...

    Java高并发笔记.pdf

    在一个单处理器系统中,由于处理器一次只能执行一个指令,因此并发实际上是通过任务间的快速切换来模拟“同时执行”的效果。 - **应用场景**:在办公室中,如果有多个员工需要使用同一台打印机,那么打印机在同一...

    Java模拟银行系统

    5. **并发控制**:在多用户环境下,为了保证数据的一致性和完整性,可能需要使用synchronized关键字或java.util.concurrent包中的工具来实现线程安全的并发访问。 6. **用户界面**:系统通常会包含一个用户界面,...

    java模拟qq项目

    我们还需要用到同步机制,如synchronized关键字和Lock接口,以避免并发访问资源时出现的数据不一致问题。 数据库连接是项目的关键部分。Java通过JDBC(Java Database Connectivity)提供了一种标准的方式来访问各种...

    java模拟实现PV操作

    在并发编程中,PV操作(即信号量Semaphore)是由荷兰计算机科学家Edsger Dijkstra提出的,它通过控制对共享资源的访问来避免竞态条件,确保线程间的同步。在Java中,我们可以使用内置的`java.util.concurrent`包中的...

    JAVA并发编程实践 中文 高清 带书签 完整版 Doug Lea .pdf

    根据提供的文件信息,“JAVA并发编程实践 中文 高清 带书签 完整版 Doug Lea .pdf”,我们可以推断出这份文档主要聚焦于Java并发编程的技术实践与理论探讨。下面将从多个角度来解析这个文档可能涵盖的关键知识点。 ...

    java CSMA/CD 模拟

    Java是一种广泛使用的编程语言,可以用来实现CSMA/CD协议的模拟。在这个项目中,我们将探讨如何使用Java来模拟CSMA/CD的工作原理。 首先,我们需要理解CSMA/CD的基本概念。CSMA/CD的工作机制是“载波监听”和“冲突...

    java模拟银行源代码

    Java的synchronized关键字和Lock接口可用于控制并发访问,防止数据竞争。 8. **单元测试**:为了确保代码的正确性,通常会编写JUnit测试用例,对各个类的方法进行测试,包括边界条件和异常情况。 9. **GUI界面**:...

    JAVA并发编程

    11. **并发测试**:书中可能会介绍如何编写测试用例来检查并发程序的正确性,如使用`Thread.sleep()`模拟延迟,或者使用`Thread.yield()`让其他线程有机会执行。 以上只是并发编程的一部分关键知识点,高洪岩先生的...

    java并发编程 英文版

    《Java并发编程英文版》是Doug Lea所著的一部关于Java并发编程的经典作品。Doug Lea是计算机科学领域的知名学者,尤其在并发编程、设计模式、软件工程等领域有深入的研究和独到的见解。本书在1996年首次出版,至今仍...

    java CSMA/CD 协议模拟

    - **介质类**:模拟物理传输介质,处理多个设备的并发访问,提供监听和发送数据的方法。 - **冲突检测算法**:用于检测数据传输过程中的冲突,并执行退避算法。 编写Java代码时,你可以使用多线程来模拟多个并发的...

    java模拟多线程买票问题.docx

    在Java编程中,多线程买票问题是演示并发控制的经典示例。这个问题旨在展示如何在多个线程共享同一资源(如票库存)时确保数据的一致性和正确性。以下是三种不同方法来解决这个问题: 1. **使用`synchronized`...

    java队列模拟实现

    Java提供了`synchronized`关键字和`java.util.concurrent`包下的工具类来保证并发访问的安全性。 6. **异常处理**:在处理队列操作时,可能会遇到空队列时尝试删除元素等异常情况。项目应包含适当的异常处理机制,...

Global site tag (gtag.js) - Google Analytics