Applicazione Java - Quando dovremmo usare più thread e possibili modi per pianificare il thread?

0

Scrivo una semplice app Java che prevede di essere eseguita una volta alla settimana. L'ho progettato come segue:

QueueA<>
QueueB<>

Thread1 :
some class
QueueA.add()

Thread2:
Check QueueA every 10 second
then, QueueA.poll(), and do sth
QueueB.add()

Thread3:
Check QueueB every 10 second
then, QueueB.poll() and do sth
  • Il thread 1 aggiungerà valore a QueueA, forse è necessario eseguire 10-100 volte; la funzione in questo thread sarà O (n) tempo. n può essere grande come 10k.
  • Thread 2 si occuperà di QueueA e aggiungerà valore a QueueB, eseguirà la dimensione di QueueA volte. la complessità temporale della funzione in questa classe dovrebbe essere O (n ^ 2). e n ^ 2 può essere grande come 1 milione.
  • Thread 3 esegue i tempi di QueueB.size ().

La mia domanda è:

  1. Penso doppio al mio design. È necessario utilizzare più thread qui? Potrebbe risparmiare un po 'di tempo, ma non molto. È una buona pratica qui? o lineare è sufficiente?
  2. Per l'automazione, in primo luogo penso di utilizzare altri strumenti, come Rundeck. Quindi, penso che Java stesso abbia una funzione di pianificazione. È una buona scelta usare la funzione di pianificazione di Java?
posta c2340878 03.11.2016 - 22:27
fonte

0 risposte

Leggi altre domande sui tag