Patterns of Parallel Programming CSharp