学术文献研究了至少十二种很重要的投入到了实际应用的并发模型。
在任何时候,计划程序的并发级别等于通过资源管理器向它授予的虚拟处理器数。
该技术被称为流水线,是在通用处理器中采用并行算法且非常有效的途径。
Rubinius好像有了很丰富的并发概念和工具——线程、actor、多虚拟机+消息传递IPC等等。
她同时说,如果登录服务器可以应付更高的并发性负载的话,市场仍有潜在需求。
该事务没有确认,因为至少一个资源管理器里的乐观并发控制失败。
并行执行阶段也可让您指定符合应用程式服务品质需求的排程原则。
这可能导致其他请求排队,直到那个长时间请求返回,让出并发位置。
从历史上看,在这一点上,并发是一个非常重要的东西,我想是受了Rubinius的影响。
有时,这种赌博有用,但大多数情况下,您都不会实现预期中的并发性改善。
这就可以根据返回的统计信息数量,实现执行速度与不减少并发之间进行权衡。
我们来看一下每个并发模型,从最简单的开始:vars。
只要数据库中出现并发性或者锁定问题,您就可能会被问及一条语句能够有效使用的隔离级别是什么。
注意,并不是简单地在所有read和write操作外面加上锁,因为不是所有类都需要这种并发控制机制。
关键是最大化端到端应用程序流的并发性,直到可用处理器和其他资源被最大化。
由于这种分离,数据仓库不需要事务处理、恢复和并行控制机制。
其基于事件的特性将模拟一种易于掌握并且比线程更少出错的并发形式。
下面的参考资料指向了一些用各种并发模型进行的实现和实验,还有其它参考资料。
DELUXE在加载时向目标表提供更多并发性,而EXPRESS模式期望目标表是一个RAW表。
此操作会造成在事务结束之前一直持有锁,从而妨碍用户并发。
但在游标中,可以根据指定的游标并发级别获取一套额外的滚动锁。
1·When mutable state goes away, almost all concurrency problems go away with it.
可变状态消失时,差不多所有的并发性问题也随之消失。
2·Shares some or all of the resources used by the system (i.e., concurrency).
分享一些或所有的系统使用的资源(例如:并发性)。
3·Even in the absence of system failures, there is another risk worth discussing in the above code — concurrency.
甚至在系统没有发生故障时,上面讨论的代码还有另一种风险——并发性。
4·These registry variables can improve concurrency, but can also impact the behavior of the application.
这些变量可以改善并发性,但是也会影响到应用程序的行为。
5·One symptom of insufficient concurrency and insufficient connection pool size is an idle CPU.
并发性不足和连接池大小不足的一个症状是CPU闲置。
1·To avoid this problem, you should apply an access intent policy that supports optimistic concurrency.
要避免这个问题,您就需要应用访问目的策略,来支持优化的并行性。
2·In typical usage, processes are used to support concurrency.
在典型使用中,进程用于支持并行性。
3·MochiWeb makes use of the process system to support the concurrency, and USES messages to help process the requests and accumulate the results.
MochiWeb利用进程系统支持并行性,利用消息来帮助处理请求和收集结果。
4·Internally Erlang handles the concurrency issue by creating small lightweight executions called processes.
Erlang在内部通过创建称为进程的小型轻量级执行来处理并行性问题。
5·It makes use of many of the features of the Erlang that have been covered in this article, including the use messaging and processes to provide high performance with a high level of concurrency.
它利用了本文所述的许多erlang特性,包括使用消息传递和进程来提供高性能与高级并行性。
1·Increasing the concurrency beyond this value will increase the transaction response time as threads compete for CPU time, and not actually yield any throughput improvement.
当并发数增加到超过该值时,由于线程争用CPU时间,所以事务响应时间将增加,因而实际上并未带来任何吞吐量方面的改进。
2·If our transaction is CPU-bound, then the productive concurrency is likely to be at most two or three times the number of available processors.
如果我们的事务是CPU限制的,则生产并发数可能最多比可用处理器数多两三倍。
3·The Maximum Messages value is set on the listener port, along with the Maximum Sessions concurrency setting.
在侦听器端口设置最大消息值及最大会话并发数。
4·Unfortunately, it is difficult to estimate the amount of concurrency supported by a single dispatcher thread on this kind of system.
遗憾的是,难以评估这种系统中单个调度程序线程支持的并发数。
5·Page Load Time = (Number of Requests / Concurrency) * Latency + Page Total Size / Bandwidth
页面加载时间 = (请求数 / 并发数)* 延迟时间 + 页面总大小 / 带宽