#并发压测

大并发大数量中的MYSQL瓶颈与NOSQL介绍

NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于NoSQL方面的经验和体会。非常荣幸能受邀在InfoQ开辟这样一个关于NoSQL的专栏,InfoQ是我非常尊重的一家技术媒...

python并发编程--进程&线程--其他模块-从菜鸟到老鸟(三)

1、concurrent模块的介绍concurrent.futures模块提供了高度封装的异步调用接口ThreadPoolExecutor:线程池,提供异步调用ProcessPoolExecutor:进程池,提供异步调用ProcessPoolExecutor 和 ThreadPoolExecutor...

python并发编程--协程---从菜鸟到老鸟(四)

python不仅内置了multiprocess模块,而且还内置了asyncio和concurrent模块。除了要分析这两个内置的,其实我们还要再下面另一个第三方joblib包。我们经常喜欢单机处理数据,或者数据量一大就采用分布式的方式,其实并发编程是一个很好的选择。asyncioconcurrentjoblib但是第一...

python并发编程--线程---从菜鸟到老鸟(一)

 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行,大大提高了...

事务并发、事务隔离级别

  不可重复读(NonrepeatableRead) 一个事务的两次读取中,读取相同的资源得到不同的值。当事务T2在事务T1的两次读取之间更新数据,则会发生此种错误(重点在修改) 幻读(Phantom): 此概念相对难理解一些。 事务T1对一定范围内执行操作,...
代码星球 ·2021-02-21

迭代服务器 和 并发服务器 的程序框架

前言大多数TCP服务器是并发的,大多数UDP服务器是迭代的。如果服务一个客户请求的时间不长,使用迭代服务器没有太大问题,一旦客户请求的时间需要花费很长,不希望整个服务器被单个客户长期占用,而希望同时服务多个客户,就需要选择并发服务器了。迭代服务器程序框架intlistenfd,connfd;listenfd=socke...

UNIX网络编程读书笔记:图解TCP端口号和并发服务器

          图1TCP服务器在端口21上执行被动打开             &n...

30、Java并发性和多线程-阿姆达尔定律

以下内容转自http://ifeve.com/amdahls-law/:阿姆达尔定律可以用来计算处理器平行运算之后效率提升的能力。阿姆达尔定律因GeneAmdal在1967年提出这个定律而得名。绝大多数使用并行或并发系统的开发者有一种并发或并行可能会带来提速的感觉,甚至不知道阿姆达尔定律。不管怎样,了解阿姆达尔定律还是...

29、Java并发性和多线程-非阻塞算法

以下内容转自http://ifeve.com/non-blocking-algorithms/:在并发上下文中,非阻塞算法是一种允许线程在阻塞其他线程的情况下访问共享状态的算法。在绝大多数项目中,在算法中如果一个线程的挂起没有导致其它的线程挂起,我们就说这个算法是非阻塞的。为了更好的理解阻塞算法和非阻塞算法之间的区别,...

28、Java并发性和多线程-剖析同步器

以下内容转自http://ifeve.com/anatomy-of-a-synchronizer/:虽然许多同步器(如锁,信号量,阻塞队列等)功能上各不相同,但它们的内部设计上却差别不大。换句话说,它们内部的的基础部分是相同(或相似)的。了解这些基础部件能在设计同步器的时候给我们大大的帮助。这就是本文要细说的内容。注:...

27、Java并发性和多线程-CAS(比较和替换)

以下内容转自http://ifeve.com/compare-and-swap/:CAS(Compareandswap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。这听起来可能有一点复杂但是...

26、Java并发性和多线程-线程池

以下内容转自http://ifeve.com/thread-pools/:线程池(ThreadPool)对于限制应用程序中同一时刻运行的线程数很有用。因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等。我们可以把并发执行的任务传递给一个线程池,来替代为每个并发执行的任务都启动一个新的线程。只要...
代码星球 ·2021-02-19

25、Java并发性和多线程-阻塞队列

以下内容转自http://ifeve.com/blocking-queues/:阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列...
首页上一页12345...下一页尾页