Esiste un modo in cui questo problema potrebbe beneficiare di una soluzione con più thread anziché un singolo thread?
In un'intervista, mi è stato chiesto di risolvere un problema utilizzando più thread. Mi sembra che i thread multipli non offrano alcun vantaggio.
Ecco il problema:
Ti viene dato un paragrafo, che contiene n numero di parole, ti vengono dati m thread. Quello che devi fare è che ogni thread dovrebbe stampare una parola e dare il controllo al thread successivo, in questo modo ogni thread continuerà a stampare una parola, nel caso in cui arrivi l'ultimo thread, dovrebbe invocare il primo thread. La stampa si ripeterà fino a quando tutte le parole non saranno stampate nel paragrafo. Alla fine tutti i thread dovrebbero uscire con garbo. Che tipo di sincronizzazione utilizzerà?
Sento fortemente che qui non possiamo trarre alcun vantaggio dai thread, ma credo che l'intervistatore stia cercando di misurare le mie capacità di sincronizzazione. Mi sto perdendo qualcosa in questo problema che farebbe valere più thread?
Non c'è bisogno di codice, basta mettere alcuni pensieri. Lo implementerò da solo.