![]() |
AW: Große Textdateien spitten
Zitat:
|
AW: Große Textdateien spitten
Darum liest nur Einer die Datei und gibt die Zeilen an die Threads weiter. (1)
Oder man macht z.B. eine CriticalSection um den Lesebefehl, bei jedem Thread. (2) Außerdem ist es blöde ungünstig Einzelzeilen weiterzureichen/zu lesen. Wenn sich jeder Thread (2) mehrere Zeilen holt und sie dann verarbeitet, bis er sich den nächsten Pack holt, oder wenn man mehrere Zeilen z.B. in eine Liste/Array einfügt und diese Listen dann an einen der Threads übergibt (1 ... also Liste abarbeiten und dann Freigeben) oder wenn man jeder Thread schon eine Liste/Array hat und der Lesethread diese Liste dann regelmäßig mit mehreren Zeilen befüllt, wenn die Liste leer oder zu leer ist (2) ... > So kann man die Sperrenden Zugriffe verringern. In neueren Delphis gibt es nicht nur Threads, sondern auch Tasks, da kann man z.B. jeweils 100 Zeilen Lesen und dafür erstellt man eine Task und diese Tasks lässt man dann z.B. in 4 Threads abarbeiten. |
AW: Große Textdateien spitten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 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