当前位置: 首页 > news >正文

免费空间访客100个网站wordpress怎么做响应式网站

免费空间访客100个网站,wordpress怎么做响应式网站,保网微商城官网,如何识别一个网站是否做的好一、背景 数据回滚 二、难点 2.1 需要处理的数据涉及多达数万个用户#xff0c;每个用户涉及的表达到10个 2.2 时间紧急#xff0c;需要快速回滚,数据需要完整 2.3 数据存在重复或空缺问题 三、解决方案 3.1 数据多#xff0c;使用分批处理#xff0c;把大任务分割成若…一、背景 数据回滚 二、难点 2.1 需要处理的数据涉及多达数万个用户每个用户涉及的表达到10个 2.2 时间紧急需要快速回滚,数据需要完整 2.3 数据存在重复或空缺问题 三、解决方案 3.1 数据多使用分批处理把大任务分割成若干个小任务 3.2 时间紧使用多线程CompletableFuture处理提高处理效率 3.3 mysql数据有些是重复需要去重使用not exist处理保障数据完整 四、案例代码 Slf4j public class DataRollBackProcessTest {// 自定义线程池ThreadPoolExecutor threadPoolExecutor new ThreadPoolExecutor(10, 10, 600,TimeUnit.SECONDS, new ArrayBlockingQueue(2000));Testpublic void startTest() throws ExecutionException, InterruptedException {ListInteger list new ArrayList();for (int i 1; i 100; i) {list.add(i);}concurrentProcess(list);}/*** * 并行处理全部异步任务执行完才一起返回** param list* throws ExecutionException* throws InterruptedException*/public void concurrentProcess(ListInteger list) throws ExecutionException, InterruptedException {// 定义一个集合切割为小任务时每个任务的大小int taskSize 5;ListListInteger divideList divide(list, taskSize);// 创建一个CompletableFuture数组用于存储异步操作的结果CompletableFutureVoid[] futures new CompletableFuture[divideList.size()];// 循环10次每次执行一次异步操作for (int i 0; i divideList.size(); i) {int index i;CompletableFutureVoid future CompletableFuture.runAsync(() - {// 异步操作可以在这里执行你的任务try {simulateLongDurationTasks(divideList.get(index));} catch (InterruptedException e) {e.printStackTrace();}System.out.println(异步操作 index 执行完成);}, threadPoolExecutor);// 将CompletableFuture对象存储到数组中futures[i] future;}// 使用CompletableFuture.allOf等待所有异步操作完成CompletableFutureVoid allOf CompletableFuture.allOf(futures);// 阻塞等待所有异步操作完成allOf.get();System.out.println(所有异步操作执行完成);}/*** 集合切分** param origin* param size* param T* return*/public T ListListT divide(ListT origin, int size) {if (origin null || origin.size() 0) {return Collections.emptyList();}int block (origin.size() size - 1) / size;return IntStream.range(0, block).boxed().map(i - {int start i * size;int end Math.min(start size, origin.size());return origin.subList(start, end);}).collect(Collectors.toList());}/*** 模拟耗时的任务* p* 需求背景:* 需要把一组用户的数据复制到另一组用户生成sql脚本如下为了简略* 使用Thread.sleep替换耗时任务* p* -- 把B用户的数据插入到A用户且A用户不存在相同的数据* sql使用点1: INSERT INTO student from* sql使用点2: NOT EXISTS** INSERT INTO student (uid, STATUS, age, sex) SELECT* 61442, -- A用户* STATUS,* age,* sex* FROM* student t1* WHERE* t1.uid 682801 -- B用户* AND t1. STATUS 1* AND NOT EXISTS (* SELECT* t2.id* FROM* student t2* WHERE* t2.uid 61442* AND t2.age t1.age* AND t2.sex t1.sex* );*/public void simulateLongDurationTasks(ListInteger subList) throws InterruptedException {if (subList null || subList.size() 0) {return;}int sleepSeconds subList.stream().mapToInt(e - e).reduce(0, Integer::sum);log.info(thread id:{}, thread name:{}, thread states:{}, Thread.activeCount:{}, thread sleep:{},Thread.currentThread().getId(),Thread.currentThread().getName(),Thread.currentThread().getState(),Thread.activeCount(),sleepSeconds);Thread.sleep(sleepSeconds);} } 五、总结 使用分批处理结合多线程提高处理效率 多线程处理需要考虑系统资源竞争问题、顺序问题
http://www.hkea.cn/news/14408327/

相关文章:

  • 网站输入一级域名自动跳转二级域名医疗营销的网站怎么做
  • 公司网站后台登陆优化网站排名解析推广
  • 系统官网网站模板下载淮安做网站找哪家公司
  • 广告设计网站怪兽网站模板
  • 英文网站支付怎么做有没有教做川菜的网站
  • 房地产东莞网站建设国外网站icp备案
  • 怎么形容网站做的好湖北智能网站建设推荐
  • 深圳公司做网站wordpress语言文件编辑器
  • 张家界网站建设要求做彩票网站非法吗
  • 普通网站怎么做h5顺企网我做网站
  • 可视化课题组网站建设教程做网站的一个专题
  • 优秀的企业网站wordpress菜单栏优化
  • php+mysql网站开发全程实例 pdf网页设计作品代码在哪里找
  • 宿迁做百度网站地点wordpress先页面再首页
  • python做网站用什么软件济南网站建设外包公司排名
  • 六安网站制作数字营销的定义是
  • 服务好的网站制作厦门网站开发平台
  • 容桂营销网站建设艺术字生成器在线制作
  • 湖南信息网官方网站铭坐网站建设
  • 网站移动端流量网站建设个人简历
  • 深圳网站建设jm3q深圳网站建制作
  • 商城网站建设模板下载白云区建材网站建设
  • 经营范围网站开发运营视频网站用虚拟主机
  • 西宁网站seo公司郑州自助建站软件
  • 免费的手机网站模板域名注册长沙有限公司
  • 霸屏网站开发找设计师网站
  • 用php做的大型网站有哪些什么公司做网站好
  • 郑州网站关wordpress 4.8
  • python 快速搭建网站标智客免费logo设计
  • 搭建网站服务器多少钱外贸采购网