Reprezentace vlaken

V C# jsou vlákna (threads) reprezentována třídou Thread z jmenného prostoru System.Threading. Vlákno představuje nejmenší jednotku zpracování, která může být naplánována operačním systémem.

Příklad vytvoření a spuštění vlákna:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        Thread vlakno = new Thread(NovaMetoda);
        vlakno.Start(); // Spustí nové vlákno
    }

    static void NovaMetoda()
    {
        Console.WriteLine("Vlákno běží!");
    }
}

V tomto příkladu je vytvořeno nové vlákno pomocí třídy Thread, které následně vykoná metodu NovaMetoda.

Základní operace na vláknech:

Synchronizace vláken

Synchronizace je proces zajištění toho, že více vláken může bezpečně přistupovat ke sdíleným prostředkům bez konfliktů.

Příklad synchronizace pomocí lock:

private static readonly object zamek = new object();

static void BezpecnaMetoda()
{
    lock(zamek)
    {
        // Kritická sekce
        Console.WriteLine("Bezpečný přístup");
    }
}

Pokročilé možnosti

Shrnutí