[fpc-pascal] Re: Threads executing in sequence instead of parallel
Vincent Snijders
vsnijders at quicknet.nl
Fri Sep 29 08:41:14 CEST 2006
Graeme Geldenhuys schreef:
> On 28/09/06, Vincent Snijders <vsnijders at quicknet.nl> wrote:
>> I know about this report:
>> http://www.freepascal.org/mantis/view.php?id=1906
>>
>> Threading related, but not the same, as you are not using synchronize,
>> are you?
>>
>> Vincent
>
> Do you mean like below - which then means, I do use synchronize. I
> use synchronize to draw on the main form (running in the main thread).
> I don't get any lockups as that bug report says, but then I am
> running under Ubuntu that uses Gnome desktop. Again, no such issues
> under Windows.
>
> TSortThread is the base class for my three different Sorting threads,
> so they all use this function.
>
> procedure TSortThread.VisualSwap(A, B, I, J: Integer);
> begin
> FA := A;
> FB := B;
> FI := I;
> FJ := J;
> Synchronize(@DoVisualSwap);
> end;
>
> They never attached a sample application, so I can't try it on my
> system to see if I get the same issues as they do, but as I stated, I
> don't get lockups, only that the threads run in sequence - one after
> the other.
>
> What platform are you running on, Windows?
All gui stuff I run on windows. Non visual test apps, I can run on linux too.
If I really want I could do GUI in linux too, but I don't know too much about gtk
and I rather spent time on improving things on the windows platform.
I thought in your initial mail your were talking about having a console test app
with threads. Synchronize is harder then, because you have to call CheckSynchronize
yourself.
Vincent.
More information about the fpc-pascal
mailing list