并发和并行 并发:伪,由于执行速度特别快,人感觉不到停顿。 并行:真,创建10个人同时操作。 线程和进程 + python自己没有线程和进程,调用的是操作系统的线程和进程。 一个应用程序(软件),可以有多个进程(默认只有一个),一个进程中可以创建多个线程(默认一个)。 1. 单进程、单线程的应用程序 ...
分类:
编程语言 时间:
2020-01-29 12:42:46
阅读次数:
66
https://blog.csdn.net/vegetable_bird_001/article/details/51858915 主要优化原理和思路 kafka是一个高吞吐量分布式消息系统,并且提供了持久化。其高性能的有两个重要特点: 利用了磁盘连续读写性能远远高于随机读写的特点; 并发,将一个t ...
分类:
其他好文 时间:
2020-01-28 23:05:24
阅读次数:
84
在高并发情况下,in memory模式下h2的性能要远高于sqlite(单线程下,还是sqlite高很多),当前版本MVStore作为H2的默认存储引擎。 安装h2 windows版本 C:\Program Files (x86)\H2\bin>java -cp h2-1.4.200.jar org ...
分类:
Web程序 时间:
2020-01-28 21:15:54
阅读次数:
1027
一、Redis为什么是单线程的? 因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。 二、详细原因: 1、不需要各种锁的性能消耗 Redis的数据结构并不全是 ...
分类:
编程语言 时间:
2020-01-28 15:28:09
阅读次数:
82
?源码: "https://github.com/dagger9527/vertx_demo" 项目工程:quickstart vert.x最大的特点是异步编程、非阻塞式。非阻塞式的方式可以让单线程以最大的效率处理客户端请求,最大幅度的利用单核处理器的优势。和多线程编程的方式不同,异步编程是单线程的 ...
分类:
其他好文 时间:
2020-01-28 12:26:43
阅读次数:
67
线程池参数详解 |参数|说明| |: |: | |corePoolSize|表示常驻核心线程数量。| |maximumPoolSize|表示线程池中能同时执行的最大线程数量。这个值必须大于等于corePoolSize,如果这两个值相等,那就是固定大小的线程池。| |keepAliveTime|表示线 ...
分类:
编程语言 时间:
2020-01-25 10:31:29
阅读次数:
98
概要 JDK中提供ArrayList集合方便我们对集合内元素进行增删改查,但是ArrayList为了能够在单线程中快速进行操作其设计并不支持多线程进行操作。ArrayList在多线程环境下可能会产生java.util.ConcurrentModificationException异常。而对于我们需要 ...
分类:
编程语言 时间:
2020-01-24 09:17:58
阅读次数:
81
JS单线程代码自上而下执行 function w1(){ console.log(1); } function w2(){ console.log(2); } w1(); w2(); // 1 2 当函数中有异步操作,且需要等待后再执行其他操作时,可以使用回调函数 function getData( ...
分类:
编程语言 时间:
2020-01-23 16:53:19
阅读次数:
64
Redis为单进程单线程模式,采用队列模式将并发访问的请求变成串行访问,并且多客户端对Redis的访问不存在竞争关系。 以下将会讲解如何使用Redis实现一个可靠的,自旋分布式锁。以及实现的思路,还有实现时会遇到的常见错误。 当然,这些实现的都是不可重入的。在最后,还会讲一下,实现可重入锁的思路。 ...
分类:
其他好文 时间:
2020-01-22 18:22:45
阅读次数:
80
es6 Promise 对象是异步编程的一种解决方案。(在javascript世界里,是单线程顺序执行的)从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除 ...
分类:
其他好文 时间:
2020-01-21 16:16:44
阅读次数:
77