In einem Trehad ein Dialog auf rufen und wieder schließen ?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

nicht thread sicher heisst das man eben synchronize benutzen muss wenn sie thread sicher wäre bräuchte würde sie intern synchronisieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Ich kenne mich mit Threads nur sehr mäßig aus. Der Main-Thread war für die Darstellung zuständig, oder? Ansonsten darf kein anderer Thread auf die Benutzeroberfläche zugreifen oder so.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Doch aber nur wenn der Main Thread dabei gestoppt wird.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Ok - es darf also immer maximal ein Thread auf die Oberfläche zugreifen. Macht Sinn. Danke!

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Übrigends ist das Problem mit Threads und synchronisieren sehr gut im Buch Delphi - Win32 Lösungen (Andreas Kosch) erklärt. Dort allerdings Windows -lastig, aber trotzdem.

@Pluto:
Das Buch würde ich Dir empfehlen, das zwar Windowsseitig alle gebräuchlicheren 'fortgeschrittenen' Probleme erklärt werden. Ist zwar Delphi, aber trotzdem zu empfehlen. Zumindest findest du dort etlich Probleme beschrieben, bevor du sie selbst mühsam erfindest ;-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

das habe ich sogar *G*
Gut, dann werde ich da noch mal rein schauen.
ich denke ich habe das Problem gelöst.

Ich werde das Projekt demnächst mal wieder hochladen.
Ich habe jetzt mehrer Unit und Klassen draus gemacht
Damit ist der Quellcode übersichtlicher
MFG
Michael Springwald

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Euklid hat geschrieben:Ok - es darf also immer maximal ein Thread auf die Oberfläche zugreifen. Macht Sinn. Danke!


Das ergibt sich sowohl aus dem Thread-Modell, wie auch aus der Tatsache, das wir mit Turing-Maschinen arbeiten. Das läuft ja letztlich alles Quasi-Parallel oder "round robin", also kann jeder Thread nur während eines kleinen Zeitabschnittes auf den Mainthread zugreifen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

schnullerbacke hat geschrieben:Das ergibt sich sowohl aus dem Thread-Modell, wie auch aus der Tatsache, das wir mit Turing-Maschinen arbeiten. Das läuft ja letztlich alles Quasi-Parallel oder "round robin", also kann jeder Thread nur während eines kleinen Zeitabschnittes auf den Mainthread zugreifen.


Moment - wird arbeiten mit Turing-Maschienen?

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@Euklid

Immernoch. Ein Bus und ein Prozessor, hätte jeder Prozessor einen eigenen Bus wäre vollständige Parallelität möglich, dann wäre es auch keine Turing-Maschine mehr. Lediglich speziell Schnittstellen wie die Grafikkarte oder Massenspeicher würden da wieder zum Flaschenhals.

Mit den Transputern waren wir mal nahe dran von dem alt hergebrachten Ansatz Abstand zu nehmen, hat leider um haaresbreite nicht geklappt. Mit denen war sogar eine lineare Steigerung der Leistung möglich. Also etwa Prozessorkarte mit 8 Transputern dazu und Leistung wenn vorher 8 vorhanden waren doppelt so groß.

Schade, daß das nie kam. Die Dinger stammten aber aus Europa, sowas setzt sich in dem Markt nur schwer durch.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Die aktuellen Mehrkernprozessoren gehen den selben weg. Jeder kern hat zwischen den Caches, kern und Prozessorinterner Perepherie eigene Busse.
Es sollen wohl sogar eigene Speicherinterfaces geplant sein in einigen Architekturen...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ja. und wenn ich mehrer Thread habe greifen sie ja auch nicht alle gleichzeitig auf den mainprozess drauf zu,
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Pluto erinner dich mal an mein Motto. Du hast noch immer nix verstanden im Bezug auf Threads.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@Christian

Stimmt schon, aber leider wird das zugunsten von Mehrkern-Prozessoren im Moment nicht wirklich stramm verfolgt. Ich kann mich noch an Transputer-Karten mit 4 Transputern erinnern, die man einfach in den ISA-Bus des PC's gesteckt hat. Das ganze wurde mit OCCAM (PASCAL-ähnlich, da schau her... :lol: ) programmiert.

Man stelle sich vor, nach dem Muster steckst du in einen gesonderten Prozessor-Bus, 4 x 4er-Karten mit 2 GHz Prozessoren jeweils mit 1 GB eigenem Speicher je CPU. Dann haste ne Westentaschen-Cray unterm Schreibtisch... :P

#Edit

Und Christian, da haben die mal wieder bei der seligen Inmos abgekupfert, aber eben noch sehr halbherzig.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

@Christian, was habe ich denn nicht verstanden?
ich weiß das Thread nebeneinander laufen.
Ich weiß jetzt wie sie genutzt werden. Reicht das nicht ?
was muss ich dann noch wissen ?
MFG
Michael Springwald

Antworten