29. juni 2006 - 06:16Der er
9 kommentarer og 1 løsning
Multithreading springer kode over
Hej...
Jeg har lavet en thumbnail-visning der kører i et eksternt unit som en tråd. Jeg har lavet det sådan at jeg tager tid på hvor lang tid det tager at vise en mappes indhold, sådan at jeg til sidst kan dele denne tid med antallet af billeder, for at opnå gennemsnitstiden for visningen af et billede. Jeg har i tråden sørget for at når alt dette er eksekveret, så giver den mig gennemsnitstiden via ShowMessage. Gennem et sådant forløb kan jeg støde på flg. fejl:
Nogle gange springer det et billede over, dvs. at der opstår et "hul" i min visning.
Når programmet skal give mig gennemsnitstiden, så går der noget galt, sådan at jeg i stedet for et tomt og uendeligt bredt besked-vindue.
Kan nogen fortælle mig hvorfor dette går galt... Jeg kunne forestille mig at det kan noget med multithreading at gøre, men er ikke selv erfaren nok til at kunne bedømme det.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Jeg ved ikke hvordan man synkroniserer, så tanken har strejfet mig... Jeg eksekverer koden i tråden OnCreate. Kan du fortælle mig hvordan jeg synkroniserer?
Du skal bruge proceduren Synchronize hvis du, fra din tråd, vil kalde kode som befinder sig i hovedtråden. Synchronize er beskrevet i hjælpen og der er også vist et lille eksempel.
procedure TMyThread.PushTheButton;
begin Button1.Click(); end;
procedure TMyThread.Execute; begin ... Synchronize(PushTheButton); ... end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.