Sobes.tech
Junior — Middle

Чӣ гуна фарқ кардани кор бо сими Thread аз истифодаи вазифаҳои Task дар контексти бисёрсана?

sobes.tech AI

Ҷавоб аз AI

Дар C# Thread ва Task барои ташкил кардани кори параллелӣ хизмат мекунанд, аммо дар сатҳи абстраксия ва истифода фарқ мекунанд:

  • Thread — объекти пастсохт, ки як сари ОС-ро намояндагӣ мекунад. Идоракунии сариҳо талаб мекунад назорати дастӣ: эҷод кардан, оғоз кардан, ҳамоҳангсозӣ.

  • Task — абстраксияи баландсохт, ки як амалиёти асинхронӣ мебошад, ки метавонад дар пули сариҳо иҷро шавад. Task кор бо асинхронӣ ва параллелизмро содда мекунад ва бо async/await ҳамгиро мешавад.

Масалан:

// Истифодаи Thread
Thread thread = new Thread(() => Console.WriteLine("Сари Thread"));
thread.Start();

// Истифодаи Task
Task task = Task.Run(() => Console.WriteLine("Вазифаи Task"));
task.Wait();

Хулоса: Thread идоракунии мустақим бо сариҳои ОС аст, Task роҳи қулайи кор бо амалиётҳои асинхронӣ ва параллелӣ бо истифода аз пули сариҳо мебошад.