On 21 Nov 2013, at 12:33, Yuriy Tymchuk <[email protected]> wrote:

> 
> On 20 Nov 2013, at 20:58, Clément Bera <[email protected]> wrote:
> 
>> So what you are looking for is Process and semaphores. 
>> 
>> This is not multithreading in the default Pharo VM + image, currently our 
>> semaphore/process management is not multithreaded, but executes all the 
>> process in the same thread.
> 
> Ouch. Do you know if this is planned for any milestone?

This is not necessarily bad. Erlang, king of multiprocessing, has a pretty slow 
VM and runs its own scheduling. Like Erlang, it should be possible to have 
really a lot of Processes.

Not that there are no (important) differences, of course.

>> What happens basically is that you will run several processes in 1 thread 
>> with different priorities, and processes with highest priorities will be 
>> executed first. This is very good for your case, because if you put your 
>> task in another process with lower priority than the UI process, each time 
>> you will trigger a UI interaction the secondary process will be temporarily 
>> stopped to execute your UI interaction.
>> 
>> (see #forkAt: Process userBackgroundPriority)
>> 
>> Seemingly there's no chapter about Process and semaphores yet but Stef is 
>> planning to write one.
>> 
>> The other alternatives are to use CogMT, a version of the Cog VM with real 
>> multithreading for FFI (but I think it will not work easily with your case) 
>> or the island VM plugin, which seemingly is an actor based multithreading 
>> system in Squeak/Pharo (however there is only 1 project that successfully 
>> uses it, which is the one of 3DICC).
>> 
>> 
>> 
>> 
>> 2013/11/20 Yuriy Tymchuk <[email protected]>
>> I’m not proficient in multithreading, but I think that I’m looking for 
>> Semaphore and Process. Things that I implement take a very long time to run, 
>> and I can’t do anything else during that time or even cancel them. So I 
>> guess they should run in a separate process which I can achieve with #fork. 
>> But as I start to work with that I want to know all the rest that can be 
>> useful.
>> 
>> uko
>> 
>> On 20 Nov 2013, at 19:21, Clément Bera <[email protected]> wrote:
>> 
>>> Hello,
>>> 
>>> What do you mean by multithreading ?
>>> Do you mean Semaphore and Process, Cog Multithreading, the Island VM plugin 
>>> ?
>>> 
>>> 
>>> 2013/11/20 Yuriy Tymchuk <[email protected]>
>>> Hi everyone, is there any chapter on multithreading in Pharo books? If not 
>>> maybe I’ll write something about that, but any material will be useful for 
>>> me right now.
>>> 
>> 
>> 
> 


Reply via email to