Ich schreibe gerade eine einfache Java App. Ich habe ein Menü, wo ich verschiedene Funktionen ausführen kann. Was ich tun möchte, ist einen Prozess auszuführen, und während dieser Prozess läuft, kann ich immer noch in der App navigieren und verschiedene Optionen aus dem Menü auswählen. Ich möchte auch in der Lage sein, den Prozess von der Speisekarte zu stoppen.Wie navigiere ich während eines laufenden Prozesses zur Benutzeroberfläche?
So nehme ich dies hatte:
public class UserInterface {
Console c = System.console();
boolean quitFlag = false;
public void userInput()
{
String choice = c.readline("> ");
while(choice != "exit")
{
switch(choice){
case "1":
startProcess();
break;
case "2":
endProcess();
break;
}
}
public void startProcess()
{
int i = 0;
while(!quitFlag)
i = i + 1;
}
public void endProcess()
{
quitFlag = true;
}
}
Wie würde ich mich über das Lassen startProcess() fortsetzen, während der Ausführung userinput()? Gibt es dafür einen allgemeinen Grundsatz? Wie würde ich es machen, wenn startProcess() und endProcess() in verschiedenen Klassen wären?
Das Prinzip ist Threading (oder Multi-Threading oder Concurrency), und dies ermöglicht Ihnen, auf mehreren Threads auf einem einzelnen Kern einer CPU zu laufen, so dass ein Prozess nicht die gesamte Ausführung oder Ihr Programm anhält. Ich würde vorschlagen, darüber nachzulesen. Hier sind einige Starter-Lektionen/Tutorials, die Sie auschecken können: [Von Oracle] (https://docs.oracle.com/javase/tutorial/essential/concurrency/) und [ein weiterer Tutorial-Punkt] (http: // www. tutorialspoint.com/java/java_multithreading.htm) –
Ich werde auf jeden Fall diese überprüfen. Vielen Dank! –