使用多线程优化双重for循环校验
有时候项目中会出现双重for循环校验,类似下面这种:
for (int i = 0; i < 10000; i++) { // 外循环for (int j = i + 1; j < 10000; j++) { // 内循环//校验规则。。。}
}
像这种,外循环的每个i值都要和内循环的i之后的所有数据做校验,如果数据量特备大,而且校验规则很复杂的话,那么校验的次数可能成千上万,时间也会很久。这个时候可以试试用多线程的方式分割数据并行运行。
要使用多线程处理双重for循环,一般适应这样的for循环:只涉及查询操作,不涉及增删改操作。这样数据之间是相互独立的。
做法和我上一篇”使用多线程优化批量导入的回显功能“是一样的,只是思想稍微不同,在这里:把内循环看成是一个整体,然后分割外循环,每一个子外循环配一个内循环(这里要特别注意内循环的下标范围,一般内循环的开始下标是其对应的子外循环的开始下标加1,末尾下标就到整个外循环的最后一个下标。当然要结合实际情况),然后有多少个子外循环就起多少个线程。
使用多线程优化双重for循环校验相关推荐
- 无人机图像处理工具更新——多线程优化版
对原无人机图像处理工具进行多线程优化,由原来批处理过程中只能轮流处理每张影像改为多线程并行处理,提速N倍,具体提速由CPU核心数决定,4核CPU至少可提速4倍. 下载链接:链接:https://pan ...
- 深入探索多线程优化方法
前言 什么是线程的概念我就不在介绍,不懂的自行百度,我想百分之九十九的人都是知道的,至于多线程,通俗的就是有很多的线程在一起工作从而完成某一件事,从而提升效率.这就是使用多线程的好处之一,举个列子,一 ...
- Java多线程优化方法及使用方式
一.多线程介绍 在编程中,我们不可逃避的会遇到多线程的编程问题,因为在大多数的业务系统中需要并发处理,如果是在并发的场景中,多线程就非常重要了.另外,我们在面试的时候,面试官通常也会问到我们关于多线程 ...
- (多线程优化)爬取京东笔记本电脑销量榜data-sku(商品id),并存入云服务器中的mysql库(爬取时间较上一版提升十多倍)
文章目录 前言 一.优化内容 1.cromeOptions()加载优化 2.ThreadPool()中的pool.map()多线程优化 二.完整代码 三.运行效果截图 前言 本文为上一篇爬虫文章的多线 ...
- Android:最全面详细的性能优化攻略(含内存优化、内存泄漏、绘制优化、布局优化、图片优化、APK优化、多线程优化、列表优化等)
前言:佛教中有一句话:初学者的心态,拥有初学者心态是件了不起的事情.真正的大师永远怀有一颗学徒的心. 一.概述 在Android中,性能优化是细分领域中最难且也是知识面涉及最深和最广的方向之一. 更快 ...
- Netty基础 NIO SocketChannel 网络编程 自制小型服务器,多线程优化*
上一篇我们讲解了大部分的理论知识,这一篇会讲解一些实际代码部分. 首先让我们熟悉一下几个方法: 创建一个服务器对象:ServerSocketChannel.open() 服务器对象需要绑定ip和端口, ...
- 探索 Android 多线程优化方法
前言 1. 基本介绍 在我学习 Android 多线程优化方法的过程中,发现我对多线程优化的了解太片面. 写这篇文章的目的是完善我对 Android 多线程优化方法的认识,分享这篇文章的目的是希望大家 ...
- 算法优化之c++多线程优化:思考与总结
最近的项目中要用多线程来对代码进行优化,期间查阅了一些资料,主要是踩过一些坑,在此记录一下,给自己提个醒. 1.什么是多线程优化 首先我们要知道什么是线程,这点没有谁比维基百科说的更好了,直接点击查看 ...
- Java多线程优化都不会,怎么拿Offer?
" 随着业务量的增加,多线程处理成为家常便饭.于是,多线程优化成了摆在我们面前的问题.Java 作为当今主流的应用开发语言,也会有同样的问题. 转自:51CTO技术栈 图片来自 Pexels ...
最新文章
- 字符串匹配的KMP算法——Python实现
- Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流(超简单教程)
- DMDW集群配置到DEM
- Spring入门 IOC
- python异常处理优点_python自测100题(下)
- 我目前的主要研究方向
- Java中注解学习系列教程-2
- 在java中如何输入角度_在Java中以特定角度绘制一条线
- zedboard实现流水灯
- 转载 用Python实现设计模式——工厂模式
- 【Android工具】更新简单好用IP端口扫描工具Fing Pro,网络设备查看工具,内网ip查询ip扫描工具,网络端口查询工具...
- Java程序员必读的10本书籍
- 原笔迹手写实现平滑和笔锋效果之:笔锋效果(三)[完结篇]
- Visual Studio中更改项目名称
- 你为什么要去做微商?
- 实现浏览器多标签页通信
- 运维派 企业面试题3 为上题中的 十个随机字母_test.html 文件 更名
- 【墨尘】变态心理学(北京大学)
- 使用神经网络中的卷积核生成语谱图
- Outfit7 庆祝其开发工作大获丰收