I asked this before and someone recommended Systems.Threading. However, these still have a low level of abstraction. Java has a framework for concurrency and they have classes/interfaces which do the managing for you and also abstracts from the complexity. I’m looking for something similar in C#.

Well, Tasks is an abstraction over threading (which may not be entirely accurate). But it allows you to run things on a different thread (again, there is a lot going on that I’m neither an expert on nor can be explained succinctly in a single post).

What do you want/need to do with Threads?
I would suggest reading on anything by Stephen Cleary on Tasks, as well as Tasks and async/await in general.

There’s also Channels, which isn’t necessarily threading, but may be useful in the domain of processing multiple workloads.

Hello, I just need a way to start and manage threads on a higher level of abstraction than calling. I need a component that contains a Thread Pool and also executes a Thread as well as the ability to shut the threads down.
C# has the Task Parallel Library which is a set of high level abstractions for multi-threading.
https://docs.microsoft.com/dotnet/standard/parallel-programming/task-parallel-library-tpl

I want to highlight in particular Task.Run , one of the most common methods in the TPL which probably is what you are looking for, in short it starts executing a job in a thread from the thread pool and returns a Task that completes when the job ends.

source