![]() |
ZLib / ZLibEx ThreadSave...
Hallo Zusammen...
Ich nutze gelegentlich die Zlib routinen... Um eine bessere MultiCPU Auslastung zu erreichen, wolle ich das ganze in einem eigenen Thread starten... Also entweder funktiert meine Routine nicht, oder die ZLibEx ist nicht threadsave... Hat jemand damit Erfahrung? Grüsse Mavarik :coder: |
Re: ZLib / ZLibEx ThreadSave...
Die ZLib-Unit selber ist erstmal grundsätzlich threadsicher, soweit ich das sehe und wenn jeder Thread seine eigenen Streams/Instanzen verwendet,
aber ob diese Dateien nicht irgendwelche gemeinsamen globalen Resourcen (z.B. Variablen, Zwischenspeicher, Puffer, ...) verwenden, kann ich nicht sagen.
Delphi-Quellcode:
{$L Zlib/adler32.obj}
{$L Zlib/deflate.obj} {$L Zlib/infback.obj} {$L Zlib/inffast.obj} {$L Zlib/inflate.obj} {$L Zlib/inftrees.obj} {$L Zlib/trees.obj} {$L Zlib/compress.obj} {$L Zlib/crc32.obj} Zitat:
|
Re: ZLib / ZLibEx ThreadSave...
Naja das war ja nicht so viel Source!
Delphi-Quellcode:
Mavarik
Procedure TTask_Packer.Execute;
var CS : TZCompressionStream; begin CS := TZCompressionStream.Create(Sout,zcMax); CS.CopyFrom(Sin,Sin.Size); CS.Free; end; |
Re: ZLib / ZLibEx ThreadSave...
Sout, zcMax und Sin stecken auch im Thread und es wird wärenddessen nicht extern drauf zugegriffen?
Also wenn dann wirklich was passiert, dann sind vermutlich Codes in den .obj nicht threadsicher. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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