AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ein Versuch mit Omnithreadlibrary

Ein Thema von IMPEGA · begonnen am 18. Sep 2020 · letzter Beitrag vom 19. Okt 2020
Antwort Antwort
Seite 2 von 2     12
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
62 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Ein Versuch mit Omnithreadlibrary

  Alt 21. Sep 2020, 16:32
Ich will nicht undankbar erscheinen, deine Antwort hat allerdings Null zu meinem Problem ausgesagt und geholfen genauso wenig.
Wenn ich mir dein Kanal anschaue finde ich auch Null über Threading.

Auf solche Antworten, selbst wenn Sie gut gemeint sind, kann ich gerne verzichten.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.278 Beiträge
 
Delphi XE5 Professional
 
#12

AW: Ein Versuch mit Omnithreadlibrary

  Alt 22. Sep 2020, 11:40
Ich schreib das einfach mal anders, was ich meinte.

Danke für die Inspiration *demnächst* Videos über die OTL zu machen. Für ein 10 Minuten Video benötige ich ca. 2-3h Produktionszeit (Recherche, Demo bauen, Aufzeichnen, Schneiden, Hochladen, Verwalten). Das mache ich in meiner Freizeit und die ist knapp - Hunde und Ehefrau usw.. Also anderes gesagt, warte nicht auf das Video, weil das kommt frühestens in 4 Wochen, wenn überhaupt.


Inzwischen bin ich Zuhause und hab Zugriff auf dem Laptop, wo ich die Präsentation mit gemacht habe.
D.h. hier ist der Code zu den Folien.

Knackpunkte an deinem Code:
Das inc(fertig) ist nicht Threadsafe.
Weil das eine mehrteilige Operation ist:
1) Wert lesen
2) erhöhen
3) zurückschreiben

Ein anderer Task kann z.B. auch den Wert lesen, während der andere ihn bereits erhöht, aber noch nicht zurück geschrieben hat.

Siehe AtomicIncrement

Auf Liste.Delete(0), liste.count trifft das natürlich auch zu.

Siehe BlockingCollection

Das nächste Problem ist die Interaktion mit der Oberfläche. Das darf nicht mit anderen Threads gemacht werden.
Hier müsstest du mit den HauptThread synchronisieren.
Angehängte Dateien
Dateityp: 7z demo.7z (82,9 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
62 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Ein Versuch mit Omnithreadlibrary

  Alt 22. Sep 2020, 16:56
Ok, das klingt ganz anders.
Danke sehr, auch für deine Demo.
Momentan bin ich so überladen mit Information, dass ich erst mal Zeit zum Verdauen brauche.
Mein Problem habe ich zwar noch nicht gelöst, es scheint aber etwas komplizierter zu sein als ich gedacht habe.
Leider ist es sehr zeitintensiv. Davon hat man leider immer zu wenig.
Lesen, lesen, lesen, danach starte ich neuen Versuch.
Danke für eure Unterstützung.
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
421 Beiträge
 
Delphi 10.3 Rio
 
#14

AW: Ein Versuch mit Omnithreadlibrary

  Alt 22. Sep 2020, 18:37
Möchtest du unbedingt was lernen oder ein Problem lösen? Ich habe vor Jahren mit AsyncCalls von Andreas Hausladen angefangen, das ist deutlich weniger anspruchsvoll und tut seinen Dienst nach wie vor sehr gut. Ich habe versucht bzw. bin dabei, auf OTL zu wechseln, bin aber auch erschlagen von den vielen Möglichkeiten und der Komplexität.
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
62 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

AW: Ein Versuch mit Omnithreadlibrary

  Alt 22. Sep 2020, 21:23
@Benmik
Eigentlich beides. Ich erfinde eine Aufgabe und dann versuche ich so weit es geht zu lernen bis ich Sie gelöst habe.
In diesem Fall ist eher die Lösung für mich wichtiger, allerdings komme ich damit nicht klar.
Das Problem ist noch komplexer. Ich verbinde mich auf den Server. Das erschwert das Ganze.
Ich habe zwar eine Lösung in D7. Das kann ich auch für mein Projekt übernehmen, ich wollte aber unbedingt OTL oder Threading in Tokyo nutzen. Um es halt zu lernen.
Momentan bin ich aber überladen und ziemlich satt. Dafür dass es nur mein Hobby ist, investiere ich eh schon zu viel Zeit dafür. Ich habe mir das einfacher ausgemalt.
Danke aber für jeden Tipp. Ich komme darauf sicherlich zurück. Ich bin zwar mit cwRuntime-master schon sehr weit gekommen, das erschien mir einfacher.
Tja, bis auf. Abbrechen funktioniert nicht ganz und die Ergebnisse stimmen nicht. So als ob er nicht gewartet hätte bis eine Response geliefert wird.
Wie gesagt, bin gerade überladen. Greife es später an.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.278 Beiträge
 
Delphi XE5 Professional
 
#16

AW: Ein Versuch mit Omnithreadlibrary

  Alt 19. Okt 2020, 15:12
"Dein" Video ist heute online gegangen.

Kannst mir ja nochmal schreiben ob du was mitnehmen konntest.
War wie immer schwierig innerhalb von 10 Minuten zu bleiben.

Quelltext und Video da:
https://www.delphipraxis.net/205806-...ch-delphi.html

Geändert von generic (19. Okt 2020 um 15:19 Uhr)
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
62 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

AW: Ein Versuch mit Omnithreadlibrary

  Alt 19. Okt 2020, 18:00
Danke. Das kann ich gut gebrauchen.
Ja, derart Videos helfen sehr. Ich habe inzwischen mein Problem schon gelöst bekommen, HTTPThreadPool aus dem Forum habe ich mir angeschaut und es hat geklappt.
Das heißt aber nicht, dass ich kein Input benötige. Ich lerne gerne weiter, am besten in kleinen Schritten.
Ich bedanke mich herzlichst für deine Zeit, Mühe und Arbeit.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf