[Lazarus] custom thread reading file does not respond properly
el es
el.es.cr at gmail.com
Wed Sep 6 17:25:35 CEST 2017
On 06/09/17 16:19, Sven Barth via Lazarus wrote:
> Am 06.09.2017 16:48 schrieb "el es via Lazarus" <lazarus at lists.lazarus-ide.org <mailto:lazarus at lists.lazarus-ide.org>>:
>> - could the un-yielded code path lead to over-zealous enqueuing of the ShowStatus routine?
>> - if yes, what would happen in such case?
>
> Both Synchronize and Sleep already causes a thread switch (the former cause it will wait for the main thread to finish processing). Also I already suggested TThread.Yield which is the same as ThreadSwitch.
> And as he wrote the Sleep(1) solves the problem for him.
> It's a pity though that this seems to be necessary on Mac OS X :/
>
> Regards,
> Sven
It is neccessary in Windows for me too (but i have the opposite problem : the thread-processing can be
a lot shorter - hardware communications - than the time slice of the main thread, giving several Queue()
or Synchronize() calls as a result;)
Because of that, I have to use a tthreadlist as a buffer between the thread and the main thread.
The time where I was hunting an elusive problem that did not happen under debugger, is never lost ;)
-l.
More information about the Lazarus
mailing list