Hi James,

On 24/09/15 18:13, James Lynes wrote:
Based on your comments I went and read the Perl Threads tutorial and searched Perl Monks for Wx and Threads(very little there). Also no working example on the wxPerl Wiki.

I think Threads and Threads::Shared with lock() is the way to go. Now I just have to go figure it out!
You'll still need wx::Timer to keep on checking the status of your threads.

Here are some snippets from my code, $gl_media_thread_hsh is a global variable. I hope you can make sense of it. If you need more detail, please just ask.

# import libraries
use threads (); # Used for multi-tasking ffmpeg
use threads::shared;

# Check operation

if ($value->is_running ne "1") { # Check status and if not executing:- my $result = $gl_media_thread_hsh->{$key}->join(); # - collect result.



# Post next thread

            $gl_media_thread_hsh->{$thread_no} = threads->new(
                sub {
                    my $result = 0;
$result = $next_job->execute() if -e $next_job->{input_file}; # trigger job in background.
                    return $result;
                }
            );
$i_queue->post_new_job($loc_hash_count_int); # Increment next available thread.

Regards

Steve.

Reply via email to