ich auf diese Art von Beispiel kam und hatte Schwierigkeiten, es ist actuall Zweck zu verstehen:Zu welchem Zweck möchte man eine Klasseninstanz innerhalb derselben Klasse erstellen?
class YieldDemo extends Thread
{
static boolean finished = false;
static int sum = 0;
public static void main (String [] args)
{
new YieldDemo().start();
for (int i = 1; i <= 50000; i++)
{
sum++;
if (args.length == 0)
Thread.yield();
}
finished = true;
}
public void run()
{
while (!finished)
System.out.println ("sum = " + sum);
}
}
ich nie diese Art der Implementierung gesehen habe - warum eine die neue Klasse innerhalb des gleichen Klassenobjekts zu initiieren und nicht außerhalb der Klasse? Gibt es einen besonderen Grund?
Denken Sie nicht, dass es einen bestimmten Grund gibt, nur weniger Code für ein Beispiel. – Divers
Ich habe so viele Probleme mit diesem Code ... (eigentlich, nur 3 wichtigsten: unsynchronisierten Zugriff auf veränderbare Shared-Variablen; Erweiterung 'Thread' anstelle der Implementierung' Runnable'; eine wirklich ausgelastete Schleife). –
@AndyTurner - es ist nicht meins :) – Nimrod