[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