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. 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).