A traditional multithreading scenario is one where multithreading can be of benefit even on a single-core machine—with no true parallelization taking place. We covered these in the previous chapter: they include such tasks as maintaining a responsive user interface and downloading two web pages at once.
Some of the constructs that we’ll cover in this chapter are also sometimes useful in traditional multithreading. In particular:
• PLINQ and the Parallel class are useful whenever you want to execute operations in parallel and then wait for them to complete (structured parallelism).This includes non-CPU-intensive tasks such as calling a web service.
• The task parallelism constructs are useful when you want to run some operation on a pooled thread (we introduced this in the previous chapter), and also to manage a task’s workflow through continuations and parent/child
tasks.
• The concurrent collections are sometimes appropriate when you want a thread-safe queue, stack, or dictionary.
• BlockingCollection provides an easy means to implement producer/consumer structures.
本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/541331
,如需转载请自行联系原作者