Wie ja schon alle anderen Antworten - inklusive der akzeptierten Antwort - in dem von dir referenzierten Thread sagen, hängt es von deinem konkreten Problem ab.
Zu sagen: "A common recommendation is n+1 threads, n being the number of CPU cores available. That way n threads can work the CPU while 1 thread is waiting for disk I/O."
ist in etwa vergleichbar mit der Frage "Wieviele Leute brauche ich, um Nägel irgendwo reinzuschlagen?" und einer Antwort darauf: "Optimal sind immer N+1 Leute, wobei N = Anzahl der Nägel, die du irgendwo reinschlagen musst" ohne auch nur im allergeringsten darauf einzugehen, wie dein Problem denn geartet ist, welches du versuchst, mit Multithreading zu lösen. Z.B.: Können denn gleichzeitig alle Leute irgendwo Nägel kloppen oder muss erst ein "Bauteil" fertig sein (Parallelisierbarkeit des Problems) , um es weiter verarbeiten zu können? Oder liegen die Plätze für die Nägel so dicht beieinander (wenige Millimeter), dass sich mehrere Personen nur gegenseitig stören und auf die Finger hauen würden, wenn sie versuchen, denselben Platz einzunehmen? (Sequentialisierung durch Nutzung gemeinsamer Ressourcen)