程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。 - I/O优化:零拷贝技术- I/O优化:多路复用技术- 线程池技术- 无锁编程技术- 进程间通信技术- RPC ...
分类:
其他好文 时间:
2021-07-27 17:35:42
阅读次数:
0
ThreadPoolExecutor添加线程源码解析——addWorker 该方法的主要目的就是为了向线程池中创建线程(worker),并执行线程。 private boolean addWorker(Runnable firstTask, boolean core) { retry: for (; ...
分类:
编程语言 时间:
2021-07-27 17:35:04
阅读次数:
0
FutureTask(未来任务) 一、前情回顾(重要) 首先我们先回顾一下多线程创建的方式 直接继承Thread方式 实现Runnable 方式 实现Callable方式 线程池方式 这四种方式主要分为两类:没返回值的(1,2) 有返回值的(3,4) 没返回值的相信已经烂熟于心了。这次我们讲讲有返回 ...
分类:
其他好文 时间:
2021-07-26 16:46:03
阅读次数:
0
use crossbeam_channel::{Receiver, bounded}; use tokio::time::{Duration, delay_for}; #[tokio::main] async fn main() { let (s, r) = bounded(10); for i i ...
分类:
其他好文 时间:
2021-07-19 16:57:38
阅读次数:
0
python爬虫实现各视频网站vip付费电影下载,进程池,解析网站爬取 ...
分类:
编程语言 时间:
2021-07-19 16:55:50
阅读次数:
0
线程池的作用 在多线程的应用中,线程的频繁创建和销毁会浪费时间,从而影响效率,所以引进线程池和概念,将多个线程维护在线程池中,避免了线程频繁创建与销毁的开销问题 线程池的结构 结构体 struct threadpool_t { pthread_mutex_t lock; //互斥锁 pthread_ ...
分类:
编程语言 时间:
2021-07-19 16:30:19
阅读次数:
0
Python支持多线程,但是由于GIL的限制并不能无限制的开启子线程。 通过semaphore我们可以控制子线程对于共享资源的访问,即可以阻塞一些子线程直到有空余的semaphore资源,但是并不能实际限制子线程数。 当我们需要开启成千上万个子线程时,很多时候并不希望这些子线程同时执行(可能受限于系 ...
分类:
编程语言 时间:
2021-07-15 19:01:30
阅读次数:
0
昨天在『.NET 大牛之路』技术群和大家聊到了对象池的话题,今天展开详细讲讲这个知识点。 池这个概念大家都很熟悉,比如我们经常听到数据库连接池和线程池。它是一种基于使用预先分配资源集合的性能优化思想。 简单说,对象池就是对象的容器,旨在优化资源的使用,通过在一个容器中池化对象,并根据需要重复使用这些 ...
分类:
Web程序 时间:
2021-07-12 18:18:31
阅读次数:
0
这是一个SpringBoot框架,使用了r2dbc持久化层,mysql 5.7数据库,证明了一小时可insert六百万数据。r2dbc连接池设置:initial 20, max 200. 以下是jmeter压测工具截图,150个用户,间隔10秒,无限循环: 右上角: 01:00:15 执行时长 Sa ...
分类:
数据库 时间:
2021-07-06 16:22:29
阅读次数:
0
#ifndef THREAD_POOL_H #define THREAD_POOL_H #include <vector> #include <queue> #include <memory> #include <thread> #include <mutex> #include <conditio ...
分类:
编程语言 时间:
2021-07-05 18:38:48
阅读次数:
0