Re: Multithreading?

From: Michael Stum (devnull_at_stum.de)
Date: 06/20/04


Date: Sun, 20 Jun 2004 23:32:29 +0200


"Christoph Basedau" <e_tonne@hotmail.com> schrieb
> 20.06.2004 23:04, Michael Stum schrieb:
>
> > "Christoph Basedau" schrieb:
> >> 20.06.2004 19:39, Michael Stum schrieb:
>
> >> > ich habe eine .js Datei, also ein JScript/Wscript, welches ich mit
dem
> >> > csript Programm ausführe.
> >> > Das Problem: Es existiert ein Array aus ~3700 Elementen, welches in
> >> > For-Schleife nach und Nach abgefragt wird.
> >> > Leider dauert das *SEHR* lange bis die Schleife durch ist.
> >> > Daher meine Frage: Kann der Windows Scripting Host auch
Multithreading?
>
> >> WSH kann kein Multithreading. Skripte verwalten zwar durchaus mehrere
> >> threads, aber das läuft jenseits der User-Kontrolle ab.
> >> Mit IE/HTA als Host könntest Du allerdings über window.setTimeout
durchaus
> >> sychrones Abarbeiten verscheidener Bereiche desselben Arrays
> >
> > Hmmm... dann muss ich mir wohl was anderes einfallen lassen. Vorweg: Das
> > Script läuft "Standalone", also nicht im Browser oder so.
>
> Der Tipp mit dem ADO-Recordset war durchaus ernst gemeint,

Ich weiß, aber das hilft nicht.
Um es konkreter zu machen:
Ich steuere das Programm iTunes über WSH. Es wird ein Array mit den Tracks
gebildet. Das sind in meinem Fall ca. 3700 Tracks. Anschließend wird in
einer for-Schleife für jedes der 3700 Elemente abgefragt, ob es ein Artwork
besitzt, sprich: ich frage iTunes, wie hoch der artwork.count von Track[i]
ist, wobei i halt mein for-zähler ist. Die einzige Möglichkeit die mir
einfallen würde, wäre halt das ich mehrere Tracks auf einmal abfrage, und
das bedeutet für mich Multithreading.
Ich lese mir die COM-Dokumentation von iTunes morgen nochmal durch ob sich
da irgendwas beschleunigen lässt.