AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Threads - Externe Funktionen

Ein Thema von -187- · begonnen am 22. Apr 2011 · letzter Beitrag vom 23. Apr 2011
Antwort Antwort
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#1

Threads - Externe Funktionen

  Alt 22. Apr 2011, 13:29
Hallo,

ich möchte ein Online API benutzen. Der Anbieter stellt eine "Work.dll" zur Verfügung. In den Beispielen vom Anbieter werden die Funktionen beispielsweise so bekannt gemacht:

function WorkInit:integer; stdcall; external 'Work.dllname 'WorkInit';

Ich habe eine Multithread Anwendung welche auf diese Funktionen zugreift.

Wenn zwei Threads auf die Funktion gleichzeitig zugreifen, hat dann jeder Thread seine "eigene Funktion" ? (Thread Safe)

Greetz
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Threads - Externe Funktionen

  Alt 22. Apr 2011, 15:51
Das lässt sich nicht pauschal sagen. Wirkliche Antwort kann hier nur der Ersteller der DLL geben.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#3

AW: Threads - Externe Funktionen

  Alt 22. Apr 2011, 16:55
Erstmal haben alle Threads die selbe Funktion.
Und wenn der Code in der Funktion threadsicher ist (nix unsicheres Externes/Globales nutzt)
oder wenn der DLL-Ersteller die Funktion threadsicher ausgelegt hat,

dann ist der Funktionsaufruf threadsicher.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Threads - Externe Funktionen

  Alt 22. Apr 2011, 18:01
Oder fassen wir es so: Die Tatsache, dass es sich um eine Funktion aus einer DLL handelt alleine, spricht nicht gegen Multithreading. Es kann aber durchaus sein, dass die Funktion innerhalb der DLL Ressourcen nutzt, die nicht in ihr lokal sind, was unter Umständen dann gegen Threads spricht. Dann wäre der letzte Ausweg noch, statt Multithreading "Multiprocessing" zu betreiben, und jedem Prozess seine eigene DLL-Instanz zu verpassen. Aber auch dann wäre noch immer nicht gesichert, dass keine externen Ressourcen gemeinsam genutzt würden.

Kurzum: Frag den Ersteller, alles andere ist zeitintensives Raten und Testen
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#5

AW: Threads - Externe Funktionen

  Alt 23. Apr 2011, 00:28
Oder man kapselt die Aufrufe selber und sort dort dafür, daß immer nur ein Thread gleichzeitig dieses ausführt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Threads - Externe Funktionen

  Alt 23. Apr 2011, 15:44
Hey, danke für die Antworten. Bin jetzt erstmal auf die HTTP API umgestiegen. Alles andere erschien mir zu aufwendig
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz