部分主要阐述 Thread 的基础知识,详细介绍线程的 API 使用、线程安全、线程间数据通信,以及如何保护共享资源等内容,它是深入学习多线程内容的基础。 第二部分引入了 ClassLoader,这是因为 ClassLoader 与线程不无关系,我们可以通过 synchronized 关键字,或者 ...
分类:
编程语言 时间:
2021-03-01 13:34:44
阅读次数:
0
Nginx才短短几年,就拿下了Web服务器大壁江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于Httpd,甚至能轻松解决C10K问题。 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx + ...
分类:
Web程序 时间:
2021-02-26 13:29:28
阅读次数:
0
引言 曾经有一道比较比较经典的面试题“你能够说说java的并发包下面有哪些常见的类?”大多数人应该都可以说出 CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS) ...
分类:
编程语言 时间:
2021-02-25 12:23:16
阅读次数:
0
说明:当前测试为thinkphp5环境下的代码、不考虑用户uid问题,只考虑库存问题 准备: 1. 新建两个表(goods、orders) CREATE TABLE `goods` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT ...
分类:
其他好文 时间:
2021-02-23 14:30:21
阅读次数:
0
1.前言 在官方 axios 中,还提供了 axios.all和axios.spread 这两个方法,这两个方法主要是为了执行多个并发请求,官方文档中,它们的用法示例如下: function getUserAccount() { return axios.get('/user/12345'); } ...
分类:
移动开发 时间:
2021-02-19 13:38:48
阅读次数:
0
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock、CountDownLatch、CyclicBarrier、Phaser、ReadWriteLock、StampedLock、Semaphore、Exchanger、LockSupport,这是第三篇,主要总结... ...
分类:
其他好文 时间:
2021-02-19 12:53:46
阅读次数:
0
1. 单进程最大打开文件数限制 有时候会遇上socket/file: can‘t open so many files的问题,其实是Linux系统有文件句柄限制的,一般Linux系统限制单进程最大可以打开1024个文件,这是远远不能满足高并发需求的。 通过ulimit –a命令来查看系统的一些资源限 ...
分类:
系统相关 时间:
2021-02-17 14:58:56
阅读次数:
0
秒杀就是抢购的功能,会有很多人抢购,所以要求扛得住高并发 秒杀的商品信息存入Redis缓存(因为访问数据量大,所以不直接对数据库进行操作) 秒杀商品存入Redis来提升访问速度。 1.秒杀列表数据 2.秒杀详情页数据 spring定时任务-定时将秒杀商品存入Redis中。 定时将秒杀商品存入Redi ...
分类:
其他好文 时间:
2021-02-17 14:44:35
阅读次数:
0
ReentrantLock源码 父子类关系:NonfairSync->Sync->AQS AQS源码 核心是volatile int state以及等待队列。 state的具体含义交给子类来定义。 ReentrantLock中state代表加解锁。 CountDownLatch中state代表需要c ...
分类:
编程语言 时间:
2021-02-17 14:21:25
阅读次数:
0
参数服务器训练基本理论 参数服务器训练是分布式训练领域普遍采用的编程架构,主要解决以下两类问题: 模型参数过大:单机内存空间不足,需要采用分布式存储。 训练数据过多:单机训练太慢,需要加大训练节点,来提高并发训练速度。 如图所示,参数服务器主要包含Server和Worker两个部分,其中Server ...
分类:
其他好文 时间:
2021-02-16 11:42:24
阅读次数:
0