What is the Difference Between Many-to-Many (M:M) Threading and Hybrid (M:N) Threading?
Go to a website selling computers (or phones). Check how many cores the computers have, and whether they support hyper threading. So there you get the number how many threads can actually run at the same time. 

On the other side, your software can use a single active thread, or 100 active threads. Some software can actually make use of many threads, other software can't. Your computer however can run more than one software at the same time, so there will be more active threads. 

So everything is M:N. M = 1 or N = 1 is possible but rare. If M &lt; N then some cores are unused and might as well not be there. If M > N then at any point in time, at most N of the M threads are running. And M changes all the time.