I mean T.Suspend, so u resume it then suspend it 

25.02.2015, 18:16, "hinsta...@yandex.ru" <hinsta...@yandex.ru>:
> not sure if this helps, but:
> for example, if you want thread T to run using approx. 70% of max. available 
> capacity, try this:
>
> repeat
>   T.Resume;
>   Sleep(70);
>   T.Resume;
>   Sleep(30);
> until ...
>
> so T runs for 70 ms, then sleeps for 30 ms, etc
>
> 25.02.2015, 18:06, "Xiangrong Fang" <xrf...@gmail.com>:
>>  2015-02-25 22:47 GMT+08:00 Dmitry Boyarintsev <skalogryz.li...@gmail.com>:
>>>  I presume most of the systems would make the sleeping thread to yield the 
>>> execution time for other threads.
>>>  The questionable behavior might occur in case of  sleep(0); (should it 
>>> yield the remaining time or just return immediately - up to the OS).
>>>  And multi-cpu might also do something different.
>>  ​Yes, I am particularly interested in behavior of SMP system. i.e. my 
>> purpose of using threads is to take full advantages of all CPU cores.
>>
>>  As far as I know, setting thread priority does not always work, it may 
>> require root privilege for example.  I would like to use Sleep() to control 
>> relative time share of all threads in the pool.  For example, I run 3 
>> threads on a dual-core system, with thread 1 and 2 share core-1, and thread 
>> 3 taking all computing power of core-2...
>>
>>  Now the problem is, can I use Sleep to control thread 1 to run at 50% of 
>> the speed of thread 2 (which is not throttled), providing that all threads 
>> are doing same kind of task, so that they are comparable?
>>
>>  Xiangrong​
>>
>>  ,
>>
>>  _______________________________________________
>>  fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
>>  http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to