While reading up on multi-threading in C# (both from MSDocs, and books like Concurrency in C# by Stephen Cleary), I have repeatedly come across advice that essentially boils down to: threads are older, low-level, abstractions for concurrency that are superseded by Task
and Task<T>
classes.
Now I understand that tasks are higher level, more feature rich and powerful, and can do almost anything that threads were previously used for like asynchrony and parallelism.
My question is: Is there anything that threads can do , that newer Task
and Task<T>
etc. cannot do so that I spend time learning multi-threading just in case I come across those use cases?