ICode9

精准搜索请尝试: 精确搜索
  • 并发测试工具类 封装,方便使用2022-07-02 13:35:30

    并发测试工具类 封装,方便使用 很多时候我们都想做一些并发测试,又不想用 JMeter ,ab等工具所以直接用代码写一个工具类 @Slf4j public class MultiThreadConcurrentTestUtils { /** * 多线程并发测试 * @param threadNum 线程数量 * @param consumer 函数 * @param pa

  • Java并发—辅助类CyclicBarrier2022-04-25 16:35:16

    一、概述 CyclicBarrier基于ReentrantLock和Condition等待唤醒的功能实现的,在构建CyclicBarrier时,会将count-1,操作count值是直接使用ReentrantLock来保证线程安全性,如果count不为0时,则添加condition队列中,如果等于0时,把节点从condition队列添加至aqs的队列中进行全部唤醒,并且将pa

  • Java AQS原理和AQS的同步组件总结2022-03-28 17:01:23

    AQS 简单介绍 AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。   AQS 就是一个抽象类,主要用来构建锁和同步器。 1 public abstract class AbstractQueuedSynchronizer extends AbstractOwnableS

  • 多线程处理同一任务2021-07-13 09:30:03

            在工作中,我们可能会面临一个比较耗时的任务处理。比如给10万个手机号码发送短信,如果使用单线程的话是很费时的,如果一个手机号码短信的发送操作需要1s,那么大概需要1天。如果使用10个线程一起发送,那么只需要0.1天左右。那么怎么判断这10个线程都将短信发送完成了

  • LongAdder和AtomicLong比较2021-05-03 11:01:23

    LongAdder和AtomicLong比较 public class LongAdderMain { public static void main(String[] args) throws InterruptedException { atomicAlongVsLongAdderTest(1, 10000000); System.out.println("-----------------------------------");

  • VC++多线程tcp connect扫描2021-04-25 17:02:35

       #includechar *host;int threadnum,maxthread,totalport;long nowport;TIMEVAL timeout;FD_SET    mask;void usage(char *name){printf("/t===================Portscaner======================/n");printf("/t============gxisone@hotmail.com     2004

  • AQS原理以及AQS同步组件总结2021-03-01 04:32:31

    转载:https://juejin.im/post/5ae755256fb9a07ac3634067 1 AQS 简单介绍 2 AQS 原理 2.1 AQS 原理概览 2.2 AQS 对资源的共享方式 2.3 AQS 底层使用了模板方法模式 3 Semaphore(信号量)-允许多个线程同时访问 4 CountDownLatch (倒计时器) 4.1 CountDownLatch 的三种典型用法 4

  • 自定义多个线程合理分配下载2021-02-26 12:30:34

    尝试用java批量下载P站周榜,结果一个线程太慢了,线程多了又怕卡,写死又不值得,于是想有了办法。 使用的是fastjson. 下面是代码段: JSONArray tempJson = new JSONArray(); logger.info("获取启动下载线程数量:"+ThreadNum); System.out.println("分组数量:"+leng

  • Java多线程导致CPU占用100%解决2020-11-02 16:02:27

    简介 情景:1200万表数据导入内存数据库,按分页大小10000查询,多线程,15条线程跑。 使用了ExecutorService executor = Executors.newFixedThreadPool(15) 本地跑了一段时间后,发现电脑CPU慢慢升高,最后CPU占用100%卡死,内存使用也高达80%。 排查问题 Debug 发现虽然创建了定长15的线程池,

  • Semaphore 信号量2020-04-21 21:59:54

    一、获取单个许可 信号量设置为3,每次获取1个许可,那么就可以连续获得3个许可。 如下面的信号量Demo @Slf4j public class SemaphoreExample1 { private static int threadCount = 20; public static void main(String[] args) throws InterruptedException { Ex

  • 使用Jenkins自动远程调用压测机实现不同用户场景下的并发测试2020-04-19 10:53:45

    需求分析: 性能测试过程中,由于环境的不足,或者项目需求,需要在凌晨才能执行性能测试,这样就需要实现自动执行性能测试场景,并且能实现多次执行不同用户并发、并且自动生成结果 本文就介绍如何使用jenkins实现在linux环境调用压测机实现性能测试 一、环境配置1. 首先进入Jenkins

  • 为什么要对多线程进行加锁操作呢2020-04-15 11:07:53

    一.如果不加锁,会怎么样? 可能会发生数据竞争,造成数据错乱. 例子: 本来想要的结果n=0,但是执行发现n的值不为0,而且有多种取值.究其原因,是因为多个线程之间会发生数据竞争,导致CPU线程调度时出现问题,不能够保证线程内执行代码的原子操作.我发现string str = "hello";这一句是必

  • 对AQS的认识及掌握的方法(案例演示) 一点课堂(多岸教育)2019-09-05 16:07:45

    本节思维导图: 1 AQS 简单介绍 AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。 AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如ReentrantReadW

  • 10、CountDownLatch、CyclicBarrier2019-07-24 10:02:49

    4 CountDownLatch (倒计时器) CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。 4.1 CountDownLatch 的三种典型用法 ①某一线程在开始运

  • python 线程池模板2019-06-27 16:49:48

    from multiprocessing import Pool import time def getDataPre(): threadnum_total = 5 threadnum = threadnum_total pool = Pool(processes=threadnum_total) # 给每个线程进行标记 while threadnum > 0: threadnum = threadnum - 1

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有