È quasi sempre più semplice pensare in modo sequenziale e successivamente modificare quella logica per funzionare meglio utilizzando i thread. E, come dice l'espressione, "Se non è rotto, non aggiustarlo". La maggior parte dei programmatori non usa i thread semplicemente perché non è necessario usarli.
Se ti senti più a tuo agio nel usarli, più potenza per te. Tuttavia, sappi che se i thread non offrono un aumento di velocità eliminando i colli di bottiglia, stanno quasi sicuramente rallentando il tuo programma.
Considera anche che i sistemi che dedicano una sola CPU a un processo simuleranno più thread con un singolo thread al fine di risparmiare risorse (ciò non accade spesso con i computer moderni, anche se le applicazioni degli smartphone sono ancora molto soggette a questo abuso). In questo caso, anche se stai eliminando i colli di bottiglia attraverso l'uso dei thread, in realtà sarà più lento che se non utilizzassi affatto i thread.
E, forse la ragione più sottile per usare la cautela per usare i thread, ma certamente non meno importante, i thread hanno la tendenza a fare ciò che non ti aspetti. Sì, se stai prendendo precauzioni, dovresti stare bene. Sì, se i tuoi thread non scrivono su variabili condivise tra thread, dovresti essere a posto. Detto questo, i bug relativi al thread sono molto difficili da trovare. Dal momento che sono dell'idea che un programmatore non possa mai eliminare completamente la possibilità di creare bug nel codice e quindi un programmatore dovrebbe prendere misure per proteggersi da possibili bug piuttosto che concentrarsi sulla loro eliminazione completa, dovresti sicuramente applicare questa idea a hard- per trovare anche i bug dei thread. In altre parole, sappi che nonostante i tuoi migliori sforzi,
Quindi dovresti usare le discussioni comunque? Bene, una sana conoscenza dei thread non è certamente una cosa negativa, specialmente se diventi bravo a farlo. Tuttavia, il movimento degli ultimi tempi è stato verso linguaggi a thread singolo come node.js. Uno dei principali vantaggi di avere un singolo thread è che è facile da ridimensionare e alcune ottimizzazioni possono essere fatte se sai che le istruzioni dovrebbero essere eseguite in sequenza (anche se le ottimizzazioni possono significare che le istruzioni che possono essere eseguite in parallelo possono essere eseguito in modo asincrono).
Detto questo, dico di fare ciò che è più comodo per te. Nella mia esperienza, scrivere un programma che hai capito ha una priorità maggiore rispetto a farlo funzionare più velocemente. Assicurati di usare i thread quando pensi che ti aiuti a scrivere il programma e non perché vuoi che funzioni più velocemente, dal momento che non dovresti preoccuparti così tanto delle prestazioni mentre scrivi il programma (l'ottimizzazione è importante, ma posso anche aspettare).