Objo Workers

26.8.5 introduces Workers which gives you a great way to harness multiple CPUs with your Objo apps.

Read the detailed blog post about them:

Excellent work, Garry! No need to mention or reference to Xojo’s messy implementation, because Objo devs just don’t need it.

A few years back when I was kicking Xojo’s tires, Workers struck me as their entire answer to multitasking, because you don’t need no stinking tasks or async support. Or at least, I recall that as the substance of their response to a query about it on their forum.

So it wasn’t just that Workers had some inherent issues in their own right; it felt like part of the reason Workers existed was that it was the best they could do to address any form of multi tasking. I would guess that retrofitting modern threading features to a compiler not originally designed with that in mind, would have been a ton of work. That’s why it was impressive that Objo had Tasks/Async/Await right out of the gate.

Ironically, I rather liked the Worker concept in principle, as I’m a big believer in doing things in a way that will provide the minimum possible cognitive burden. And I’ve been known over the years to spin up a separate worker process and monitor it for completion. There are distinct uses for it.

Now I feel like Garry has made workers what they should have been in the first place, and it’s a fantastic addition to Objo’s already robust multi tasking. It is better than what is built into C# for example – it’s way more feature rich than just launching a separate command line app and holding onto the Process instance to monitor it for completion.

Thanks for the kind words - I spent a lot of time and effort trying to figure out the “best” way to implement this :slight_smile: