09-24-2008
Something is not right here.... however: In order to do this you need to know the OS, and something about C, something about threads.
What OS?
Have you programmed threads in C?
9 More Discussions You Might Find Interesting
1. Linux
hi
how can i load dynamic or shared library in linux kernel modules .
mtaghiloo@yahoo.com (0 Replies)
Discussion started by: mtaghiloo
0 Replies
2. HP-UX
I kind of forget easily. Is anyone remember the command to find kernel, memory and patches information of HPUX 11.0 machine?
Thank you! (0 Replies)
Discussion started by: Teh Tiack Ein
0 Replies
3. HP-UX
Hi all,
what do kernel modules libaudit, klog and strlog do?
Specifically I want to determine if it was possible for us to determine if kernel level auditing is enabled at all?
regards (0 Replies)
Discussion started by: slash_blog
0 Replies
4. UNIX for Advanced & Expert Users
Hi,
Can you please give me a suitable reference to learn multithreading programming in C in UNIX?
Thanks (3 Replies)
Discussion started by: naan
3 Replies
5. UNIX for Advanced & Expert Users
I have a file that reads File (X.txt)
Contents of record 1:
rdrDESTINATION_ADDRESS (String) "91 971502573813"
rdrDESTINATION_IMSI (String) "000000000000000"
rdrORIGINATING_ADDRESS (String) "d0 movies"
rdrORIGINATING_IMSI (String) "000000000000000"
rdrTRAFFIC_EVENT_TIME... (0 Replies)
Discussion started by: magedfawzy
0 Replies
6. Programming
Situation:
i have multiple pthread_create calls like this:
pthread_create(...., ThreadFunc1,.....);
pthread_create(...., ThreadFunc2,.....);
.
.
which i am using to create multiple threads.All the "ThreadFunc<i>" functions are actually calling same function "Receive" of a class using same... (3 Replies)
Discussion started by: Sastra
3 Replies
7. HP-UX
To fix an "issue" we're having I need to update SHMMAX from 1GB to 2Gb, it's a dynamic parameter so am just wondering how flexible it really is.
As Oracle is running on the server do I need to shut that down to change the parameter or will it just take the change on the fly?
Also how would I... (6 Replies)
Discussion started by: Turlock
6 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I would like to do some research on the Linux kernel. Where can I find information about the current kernel development, who is working on the kernel. I looked up the change log on the kernels main page, but that doesn't help either. My goal is to find out where the focus of the current... (3 Replies)
Discussion started by: Learn4Life
3 Replies
9. Programming
I take this question of the The Linux Programming Interface: A Linux and Unix System Programming page 652 exercise 30.1
I want someone to explain the under line statement because it sounds complex to me couldn't understand anything
30-1 Modify the program (thread_incr.c) so that each loop in... (3 Replies)
Discussion started by: fwrlfo
3 Replies
LEARN ABOUT OSX
wx::thread
Wx::Thread(3) User Contributed Perl Documentation Wx::Thread(3)
NAME
Thread - using wxPerl with threads
SYNOPSIS
# the order of these use()s is important
use threads;
use threads::shared;
use Wx;
my $DONE_EVENT : shared = Wx::NewEventType;
my $worker = threads->create( &work );
# create frames, etc
my $frame = Wx::Frame->new( ... );
EVT_COMMAND( $frame, -1, $DONE_EVENT, &done );
$app->MainLoop;
sub done {
my( $frame, $event ) = @_;
print $event->GetData;
}
sub work {
# ... do stuff, create a shared $result value
my $threvent = new Wx::PlThreadEvent( -1, $DONE_EVENT, $result );
Wx::PostEvent( $frame, $threvent );
}
# event handler
sub OnCreateThread {
# @_ = () is necessary to avoid "Scalars leaked"
my( $self, $event ) = @_; @_ = ();
threads->create( ... );
}
DESCRIPTION
Threaded GUI application are somewhat different from non-GUI threaded applications in that the main thread (which runs the GUI) must never
block. Also, in wxWidgets, no thread other than the main thread can manipulate GUI objects. This leads to a hybrid model where worker
threads must send events to the main thread in order to change the GUI state or signal their termination.
Order of module loading
It's necessary for "use Wx" to happen after <use threads::shared>.
Sending events from worker threads
"Wx::PlThreadEvent" can be used to communicate between worker and GUI threads. The event can carry a shared value between threads.
my $DONE_EVENT : shared = Wx::NewEventType;
sub work {
# ... do some stuff
my $progress = new Wx::PlThreadEvent( -1, $DONE_EVENT, $progress );
Wx::PostEvent( $frame, $progress );
# ... do stuff, create a shared $result value
my $end = new Wx::PlThreadEvent( -1, $DONE_EVENT, $result );
Wx::PostEvent( $frame, $end );
}
The target of the event can be any "Wx::EvtHandler"
Receiving events from worker threads
"Wx::PlThreadEvent" is a command event and can be handled as such. The "->GetData" method can be used to retrieve the shared data
contained inside the event.
my $DONE_EVENT : shared = Wx::NewEventType;
EVT_COMMAND( $frame, -1, $DONE_EVENT, &done );
sub done {
my( $frame, $event ) = @_;
print $event->GetData;
}
Creating new threads
Creating new threads from event handlers works without problems except from a little snag. In order not to trigger a bug in the Perl
interpreter, all event handler that directly or indirectly cause a thread creation must clean @_ before starting the thread.
For example:
sub OnCreateThread {
my( $self, $event ) = @_; @_ = ();
threads->create( ... );
}
failure to do that will cause "scalars leaked" warnings from the Perl interpreter.
perl v5.10.0 2007-04-28 Wx::Thread(3)