一:什么是资源限制:资源限制是指在进行并发编程时,程序的执行速度受限于计算机硬件资源或软件资源。硬件资源限制:带宽的上传/下载速度、硬盘读写速度和CPU的处理速度;软件资源限制:数据库的连接数和socket连接数等。
二:资源限制引发的问题:在并发编程中,讲代码执行的速度加快的原则是讲代码中的串行执行的部分变成并发执行,但是如果将某段串行的代码并发执行,因为受限于资源,仍然在串行执行,这时候程序不仅不会加快执行,反而会更慢,因为增加了上下文切换和资源调度的时间。
三:如何解决资源限制的问题:1.对于硬件资源限制,可以考虑使用集群并行执行程序。既然单机的资源有限制,那么就让程序在多机上运行。2.对于软件资源限制,可以考虑使用连接池讲数据库和socket链接复用,或者在调用对方web-service接口获取数据时,只建立一个连接。