Concurrent computing: Difference between revisions
Content added Content deleted
(Removed external library solution, as task can be done through standard ones.) |
m (Updated whitespace.) |
||
Line 166: | Line 166: | ||
=={{header|c sharp|C#}}== |
=={{header|c sharp|C#}}== |
||
===With Threads=== |
===With Threads=== |
||
<lang csharp> |
<lang csharp>static Random tRand = new Random(); |
||
static |
static void Main(string[] args) { |
||
⚫ | |||
⚫ | |||
static void Main(string[] args) |
|||
⚫ | |||
{ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
{ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
⚫ | |||
An example result: |
|||
<pre> |
|||
Enjoy |
|||
Code |
|||
Rosetta |
|||
</pre> |
|||
===With Tasks=== |
===With Tasks=== |
||
{{works with|C sharp|7.1}} |
{{works with|C sharp|7.1}} |
||
<lang csharp>using System; |
<lang csharp>using System; |
||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||
⚫ | |||
⚫ | |||
{ |
|||
static async Task Main() { |
static async Task Main() { |
||
Task t1 = Task.Run(() => Console.WriteLine("Enjoy")); |
Task t1 = Task.Run(() => Console.WriteLine("Enjoy")); |
||
Task t2 = Task.Run(() => Console.WriteLine("Rosetta")); |
Task t2 = Task.Run(() => Console.WriteLine("Rosetta")); |
||
Task t3 = Task.Run(() => Console.WriteLine("Code")); |
Task t3 = Task.Run(() => Console.WriteLine("Code")); |
||
await Task.WhenAll(t1, t2, t3); |
await Task.WhenAll(t1, t2, t3); |
||
} |
} |
||
Line 214: | Line 195: | ||
<lang csharp>using System; |
<lang csharp>using System; |
||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||
⚫ | |||
⚫ | |||
{ |
|||
static void Main() => Parallel.ForEach(new[] {"Enjoy", "Rosetta", "Code"}, s => Console.WriteLine(s)); |
static void Main() => Parallel.ForEach(new[] {"Enjoy", "Rosetta", "Code"}, s => Console.WriteLine(s)); |
||
}</lang> |
}</lang> |