![]() |
Verwenden der Parallel Library?
Hallo Zusammen!
Parallel For ist kein Problem Task & Future auch nicht... Aber wie kann eine Task mit der WorkerThread-Logic der For anlegen? Mavarik |
AW: Verwenden der Parallel Library?
Zitat:
|
AW: Verwenden der Parallel Library?
Zitat:
In TTask ist wie ein "normaler" Thread! Ein Parallel.For erzeugt je nach Core's und CPU Auslastung 1-n Worker Threads. Ein TTask kann das ja nicht, weil die enthaltenen Procedure "nur" aufgerufen wird. Ich kann natürlich TTask's erzeugen... Ich möchte aber ein TTask anlegen, der in Abhängigkeit einer sich ändernden Liste diese mit 1-n Worker Thread abarbeitet. |
AW: Verwenden der Parallel Library?
Dann hast du die Threading Library noch nicht verstanden ;)
Ein Task ist eine Aufgabe und diese eine Aufgabe wird in irgendeinem WorkerThread aus dem ThreadPool ausgeführt. Ein Parallel.For macht nichts anderes als ganz stumpf n Tasks anzulegen und auf die Erledigung aller dieser Tasks zu warten. Eine Aufgabe (Task) kann nicht automatisch in Untertasks zerlegt werden, die dann parallel ausgeführt werden. Das musst du schon selber machen ;) |
AW: Verwenden der Parallel Library?
Zitat:
Ich wollte mich in die Routine einklinken die Feststellt hey ich hab noch "platz" für einen weiteren Thread - Gib mir ne Aufgabe. OK OK OK... Also HandMade... Mavarik PS.: Die wichtige Information war.. Eine TTask wird von einem Worker Thread abgearbeitet und nicht TTask ist ein Thread... Das ist ein entscheidender Unterschied... Denn dann kann ich N_TTask mit verschiedenen Parametern erzeugen. Z.B. 10000 es werden aber nur Beispiel(4) Thread daraus erzeugt! Richtig? |
AW: Verwenden der Parallel Library?
Häh, wie ... du willst also am ThreadPool vorbei (der genau das nämlich macht) da nochmal entscheiden ...
Irgendwie unlogisch ... Erzeuge einfach die Tasks, wenn die abgearbeitet werden sollen, wenn es 1000 sind, mach 1000, 100000? mach 100000, usw. Der ThreadPool kümmert sich darum, die anstehenden Tasks in möglichst kurzer Zeit abzuarbeiten und erstellt automatisch mehr WorkerThreads, wenn die aktuelle Systemauslastung das zulässt. Wenn du irgendetwas beinflussen willst, dann gehe an den ThreadPool (du bist nicht an den DefaultThreadPool gebunden) und setzte Min/MaxWorker auf einen dir genehmen Wert. |
AW: Verwenden der Parallel Library?
Zitat:
Mavarik [Thread Closed] :stupid: |
AW: Verwenden der Parallel Library?
Zitat:
|
AW: Verwenden der Parallel Library?
Der Thraed war auch nie als "offene Frage" markiert. :mrgreen:
|
AW: Verwenden der Parallel Library?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz