[linux-l] Debian-Mirror der belug...

Tobias Schlottke toby at schlottke.net
Fr Okt 17 14:20:06 CEST 2003


On Fri, 17 Oct 2003, Jan-Benedict Glaw wrote:

> > public class MakeThreads extends Thread {
> >     public static int maxThreads = 1000;
> >     public static int started = maxThreads;
> >
> >     public void run() {
> > 	started--;
>         ^^^^^^^^^^
> > 	while (true) {
> > 	    try {
> > 		sleep(5000);
> > 	    } catch (Exception e){;}
> > 	}
> >     }
> >     public static void main(String [] params) {
> > 	long startTime = System.currentTimeMillis();
> >
> > 	for (int i=0;i<maxThreads;i++) {
> > 	    new MakeThreads().start();
> > 	}
> > 	try {
> > 	    while (started > 0) {
>                    ^^^^^^^
>
> Ist das unter Java erlaubt? Funktioniert das auch? Unter C brauchst Du
> dafür jedenfalls 'nen mutex...

Nö. Das macht doch der Prozessor in einem Zyklus.
Entweder der Int kommt vorher oder nachher. Zugegeben,
ist nicht ganz sauber. Wenn der Compiler daraus mehr
als eine Instruktion braucht, kann's scheppern. (Nein,
_muß_ es scheppern ;-)

Toby





Mehr Informationen über die Mailingliste linux-l