KuroKami69 ha scritto:
onestamente non mi son venute molte idee basate sui tuoi suggerimenti.
prendendo in considerazione l'idea che il minerDispatch ritornu true o false, mi verrebbe da mettere un if dentro al while(true), se minerdispatch ritorna true allora crea un minatore, altrimenti viene mandato un wait tramite un metodo che, esempio, potrei chiamare minerWait.
Dovrei andarmi a rileggere buona parte della discussione, ma per quanto posso dire ora:
Se minerDispatch ha anche il compito di inviare il wait, allora:
- può avere void come ritorno
- quindi appena trovi uno slot libero, crei/avvii il thread e poi fai un
return; (senza valore, ovviamente)
- e al fondo del metodo, DOPO il for, invii il wait
Se minerDispatch NON ha anche il compito di inviare il wait, allora:
- può avere boolean come ritorno
- quindi appena trovi uno slot libero, crei/avvii il thread e poi fai un
return true; (true = creato)
- e al fondo del metodo, DOPO il for, fai un
return false; (thread non creato)
- il chiamante deciderà cosa fare, ragionevolmente se false farà l'invio del wait