12-15-2009
I'd just be restating what I said already: Things that don't contend for the same resource can be done concurrently. Using local variables isn't contention, but global variables would, static variables would, and class members would. Modifying any of those would be contention, which would need a mutex to guarantee that only one thread at a time uses it -- that is, reads OR writes it -- at once.
Ergo, if modifying class members is nearly all that Receive() does, there's not a lot of point in multithreading it since you'll have to force them to use the object one-at-a-time anyway to avoid race conditions. What else did you want to know?
Last edited by Corona688; 12-15-2009 at 05:19 PM..
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Can anyone explain me how to use pthread_key_create() , pthread_setspecific(), pthread_getspecific() and pthread_key_delete () routines in pthreads.
Kindly state by an example. (3 Replies)
Discussion started by: S.P.Prasad
3 Replies
2. Programming
Does any one no of some good web site which will explain about how to program using pthreads in a UNIX enviroment? (6 Replies)
Discussion started by: fishman2001
6 Replies
3. Programming
howcome that pthtreads spawn 2 extra processes?
I'm kind of new with pthreads but fork() did not act like this.
Anyone who can give me a technical explanation of what happends with mother / daughter processes?
Best regards Esaia. (2 Replies)
Discussion started by: Esaia
2 Replies
4. Programming
I have created a thread program, it is attached. My problem is that I need to loop this program multiple times, and basically reset everything including the threads created previously. I try to loop the program, the first run is fine, as always, but the second run of the program, the initialize... (0 Replies)
Discussion started by: justgotthis
0 Replies
5. HP-UX
Hi!
I'm linking my hpux code using -lpthread (gcc), yet it references libpthread_tr.1,
the debug version of the pthread lib. How do I force it to use pthreads?
Thanks, :) (3 Replies)
Discussion started by: zackz
3 Replies
6. Programming
Hi all, I have a query about multithreading. What I would like to do is, at the start of my main update() function, start a couple of threads in parallel, once they are all complete carry on with my main update function.
void update() {
thread1->update(); // fluid solver
... (3 Replies)
Discussion started by: memoid
3 Replies
7. 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
8. Shell Programming and Scripting
Hi
I need to insert 1million records into MySQL database, but it is taking lot of time as there is no bulk insert support.
I want to spawn 10 processes which will insert 100k records each parallely.
Can somebody help me with a example program to execute this task through shell scripting. (5 Replies)
Discussion started by: sach_roger
5 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
Portable Threads Abstraction Classes(3) Coin Portable Threads Abstraction Classes(3)
NAME
Portable Threads Abstraction Classes -
Classes
class SbBarrier
The SbBarrier class implements the 'barrier' multi-thread synchronization technique.
A barrier is a synchronization mechanism that is used for blocking threads as they enter the barrier until a given number of threads are
blocked, at which point all the threads are released again. "
class SbCondVar
A class for synchronizing access to global variables.
Condition variables are used to protect global variables in an environment where multiple threads are running concurrently. "
class SbFifo
A class for managing a pointer first-in, first-out queue.
class SbMutex
A basic class for managing a mutex.
This class provides a portable framework around the mutex interface of the underlying native thread-handling toolkit. "
class SbThreadAutoLock
Simple convenience class for locking access to a function.
This class provides a simple convenience mechanism for automatically locking access to a function that is not re-entrant. "
class SbRWMutex
class SbStorage
The SbStorage class manages thread-local memory.
This class manages thread-local memory. When different threads access the memory an SbStorage object manages, they will receive different
memory blocks back. "
class SbTypedStorage< Type >
The SbTypedStorage class manages generic thread-local memory.
This class manages thread-local memory. When different threads access the memory an SbTypedStorage object manages, they will receive
different memory blocks back. "
class SbThread
A class for managing threads.
This class provides a portable framework around the tasks of instantiating, starting, stopping and joining threads. "
Detailed Description
Coin implements a set of abstractions over the native threads data types that can be portably used across all the platforms Coin has been
ported to.
Author
Generated automatically by Doxygen for Coin from the source code.
Version 3.1.3 Wed May 23 2012 Portable Threads Abstraction Classes(3)