Posts Tagged worker

ActionScript Workers: Condition Class Demo

Tags: , , , ,

The last article gave a very basic example of the flash.concurrent.Condition class introduced in Flash Player 11.5. That example was (hopefully) a simple and easy way to understand the mechanics of how the Condition class works. Unfortunately, it was not a useful example and actually demonstrated the opposite of what you’d want to use it for. Today’s article shows a somewhat more complicated example that should serve as an example of appropriate usage for Condition.

Read the rest of this article »

12 Comments

ActionScript Workers: Condition Class Example

Tags: , , ,

The Condition class that debuted alongside the Mutex class in Flash Player 11.5 is very useful but much less understood. Unfortunately, Adobe’s documentation doesn’t include a usage example and there seem to be none available elsewhere on the internet. So today’s article provides an example of how to use the flash.concurrent.Condition class.

Read the rest of this article »

10 Comments

ActionScript Workers: Changing ByteArray Length

Tags: , ,

In the last article we learned that a ByteArray shared between two workers also shares its length field but not its position field. This raises a followup question: what about when the length changes? Today’s article sees what happens when you change the length of a ByteArray that is shared between two ActionScript workers to see just how shared that length field really is.

Read the rest of this article »

No Comments

ActionScript Workers: Sharing ByteArrays

Tags: , ,

ActionScript workers allow you to take advantage of today’s multi-core processors by creating multiple threads of execution. These threads will invariably need to share some data between them. By default, all data passed between the workers/threads is copied, which can be really slow. The ByteArray class can be shared without copying. Today’s article discusses this and talks about some quirks that come along with it.

Read the rest of this article »

9 Comments

Send ActionScript Worker Messages 6x Faster With Mutex

Tags: , ,

While ActionScript Workers made their debut in Flash Player 11.4, the Mutex class didn’t arrive until the next version: 11.5. This class is specifically designed to solve a subtle problem that cropped up in the last article. As you’ll see in this article, it does the job quite well! The result is even faster message passing between workers/threads, which is often key to efficiently using multiple core CPUs.

Read the rest of this article »

9 Comments

Send ActionScript Worker Messages 2.5x Faster

Tags: , , ,

We know that sending messages between ActionScript workers is slow, but how can we make it faster? Today’s article discusses an alternative approach to message passing that yields a 2.5x speedup. Read on to learn about the approach and un-block your workers.

Read the rest of this article »

13 Comments

ActionScript Workers Tutorial

Tags: ,

ActionScript workers add threading to AS3 so that you can take advantage of today’s multi-core CPUs. I’ve written a couple of articles about them so far, but skipped over the basics of actually setting them up and using them. This is surprisingly tricky! Read on for a crash course on how to use workers to speed up your app.

Read the rest of this article »

25 Comments

Easy Worker Communication With MessageComm

Tags: , ,

ActionScript Workers are great, but they can be tricky to set up and especially debug. Today I’m introducing a couple of helper classes to take some of the pain out of communicating between threads. Read on for the helper class source code (MIT licensed) and an example app that uses it.

Read the rest of this article »

4 Comments

ActionScript Worker Message Passing is Slow

Tags: , ,

Since Flash Player 11.4 was released we have finally been given the ability to run multiple threads of AS3 code to take advantage of modern multi-core CPUs. However, when we start writing this multi-threaded code we immediately run into the requirement to coordinate the threads by passing messages between them. As it turns out, this is quite slow in AS3. Read on for the performance analysis.

Read the rest of this article »

8 Comments