| |
|
|
 p.specht
 | Cuestión: Gibt lo como no Speicherlecks, si con el Schließen-Cruz abgebrochen se en lugar de con ESC-Taste?
{$cleq}
cls
var n&=0
Imprimir " Theads el Reihe después de final con ESC-Taste!"
var thread&=thread.start(procaddr(meinThread),0,"")
var thread2&=thread.start(procaddr(meinZweiterThread),0,"")
repeat
locate 10,10:imprimir n&:inc n&;
waitinput 5
until %key=27
imprimir "\n Posesiones Hauptschleife verlassen."
waitinput
thread.stop(thread&)
mientras que thread.is(thread&)
endwhile
thread.close(thread&)
imprimir " Posesiones Hilo Nr. 1 final."
waitinput
thread.stop(thread2&)
mientras que thread.is(thread2&)
endwhile
thread.close(thread2&)
imprimir " Posesiones Hilo Nr. 2 final."
imprimir " Isch 'abe feddisch..."
waitinput 3000
end
nproc meinThread :parámetros thread&,dataLong&,dataString$
whilenot thread.mensaje(thread&)==wm_close
settext(%hWnd,"Mein FensterTitel - ["+time$(0)+"."+substr$(time$(1),1,".")+"]")
sleep(1000)
endwhile
volver 0
ENDPROC
nproc meinZweiterThread :parámetros thread&,dataLong&,dataString$
whilenot thread.mensaje(thread&)==wm_close
settext(%hWnd,"MEIN FENSTERTI - ("+time$(0)+"."+substr$(time$(1),1,".")+")")
sleep(900)
endwhile
volver 0
ENDPROC
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 13.03.2014 ▲ |
|
|
|
|
 Nico Madysa | ¡Hola Peter,
Yo me el Freiheit genommen, deinen Code de Lesbarkeitsgründen en [Code]-Blöcke a conjunto. Dabei Yo auch unos pocos Doppelpunkte de deinem Ver código fuente gegen Zeilenumbrüche getauscht, porque ellos el seiteninternen Einrückungsparser durcheinander gebracht haben.
Was deine Cuestión angeht, así Yo ernsthafte Zweifel, dass como una Speicherleck existiert. Wenn du el Schließen-Knopf drückst, se el XProfan-Ventana con DestroyWindow zerstört y beim Ende des Prozesses debería auch todos Hilos des Prozesses para Erliegen kommen.
Das son aber alles sólo Vermutungen. Wenn du lo genau wissen willst, kannst du sí en uno Bucle el Programa unos pocos tausend Tiempo aufrufen y ihm entonces una WM_CLOSE zukommen dejar, o. DestroyWindow en lo anwenden.
Wenn se el no en el RAM-Progreso su Taskmanagers bemerkbar macht, Es el Sache wahrscheinlich sicher. |
|
|
| |
|
|
|
 p.specht
 | Gracias para el rasche Antwort, Nico! Bin al testen...
El Cuestión bezog se auch en esta Anmerkung en el xpse-Funktionshilfe, wonach el Función tread.is() fälschlicherweise stets Null liefert - sonst podría el Hauptprogramm merken y abwarten, si todavía Hilos werken. Kennt como alguien work-around? Gruss
P.S.: Mit 'Mutex' a Synchronisation muss Yo mich auch sólo beschäftigen. Einen Vorteil gegenüber Polling sehe Yo actualmente más no. Den hay scheinbar sólo en Problemarten, el me bislang todavía no untergekommen son. |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 17.03.2014 ▲ |
|
|
|
|
 Nico Madysa | Wenn du no hohen Geschwindigkeiten necesidad, wäre una Workaround, XProfan-Multiprozessing utilizarse. Es langsamer, funktioniert aber wenigstens. Nächste Alternative wäre, con PExec una neuen Prozess a starten, en el aber wiederum una NProc aufzurufen. Es hässlich, aber el son Workarounds sí meistens.  |
|
|
| |
|
|
|
 | p.specht (13.03.14)
Cuestión: Gibt lo como no Speicherlecks, si con el Schließen-Cruz abgebrochen se en lugar de con ESC-Taste?
Windows säubert (zumindest de Yo glaube) Versión XP sowieso en Prozessende.
Das Programa hätte aber Race-Condition-Problemas si la Hilo se ejecuta y hWnd redet sin dass lo hWnd son. Müsstest el guten Orden halber also antes Zerstörung des hWnd el Hilos ordentlich final. Somit se Ventana de Estilo 512 wohl unumgänglich. |
|
|
| |
|
|