12-20-2010
Good evening,
Jim is right with the limitation of the virtual memory. On some 32-bits Linux system, you have up to 3Gb of VM available for the application. Assuming 8Mb stack per thread, it follows that you may have only up to 384 threads active at the same time.
Even if your threads terminate; you may still need to join them. Or as mentioned by Corona688, to detach the threads. The reason behind is explained in
this article
Cheers, Loïc
10 More Discussions You Might Find Interesting
1. Post Here to Contact Site Administrators and Moderators
Neo, if I have an old thread that is a few months old, and a few pages back in the forum it was posted in, is it ok to 'bump' it back to the front? or, would you rather i deleted the old thread, and just create a new one? btw the thread has no replies. (2 Replies)
Discussion started by: norsk hedensk
2 Replies
2. UNIX for Dummies Questions & Answers
i am tring to sort lots of data thats in many columns by just one column but, if I use sort +16 inputfile the column fluctuates because some of the rows have spaces etc within the text, so the end result is just a mess as it jumps around the columns depending whether it has spaces or not ....ie... (2 Replies)
Discussion started by: Gerry405
2 Replies
3. Solaris
Hi all!
1)Is there a way to write a program that will work on both solaris and intel based machines.
2)How can I achive this for a program that creates and synchronizes three threads.
Thank you.
vij. (3 Replies)
Discussion started by: vijlak
3 Replies
4. UNIX for Advanced & Expert Users
Hi,
I have a program that has two types of threads:
1) Reader threads
2) Worker Threads
Readers: Their only job is to read files. They just read data from the files and put them into a buffer. They are obviously I/O intensive.
Workers: These are CPU intensive. They do some computation... (5 Replies)
Discussion started by: the_learner
5 Replies
5. UNIX for Advanced & Expert Users
Hi all,
How can I get the list of all Threads and the Total count of threads under a particular process ?
Do suggest !!
Awaiting for the replies !!
Thanks
Varun:b: (2 Replies)
Discussion started by: varungupta
2 Replies
6. Programming
Hello! I started studying studying about POSIX Threads a few days ago... so I am a little confused and I would appreciate some help!
I isolated this code... and I wonder if I could use threads in it!
#include <unistd.h>
#endif
#include <math.h>
//#include "main.h"
#include <sys/time.h>... (1 Reply)
Discussion started by: smurf2
1 Replies
7. Shell Programming and Scripting
Hi Unix gurus,
I am facing a threading problem in Perl.
I have a worker thread in perl in which I am calling a shell script.
The shell script echo's output to the Standard Output from time to time as it progresses.
In the worker thread, I am unable to display the echo statement of shell... (1 Reply)
Discussion started by: som.nitk
1 Replies
8. HP-UX
Hi,
I have a module by the name gateway, and it core dumps and gives a cma_dump.log file which says:
%Internal DCE Threads problem (version CMA BL10+), terminating execution.
% Reason: dispatch: no available VP (uniprocessor)
The current thread is 3 (address 0x40107c40)
DECthreads... (0 Replies)
Discussion started by: vanz
0 Replies
9. Programming
Hi guys,
I want to start studding about java threads. but the only book available on the market is "Java Threads" by O'Reilly... (0 Replies)
Discussion started by: majid.merkava
0 Replies
10. Programming
Hi Guys,
We are having one multi-threaded application.
The scenario is as follows:
--------------------------------- Client 1
|
APP Server -------------- Client 2
... (1 Reply)
Discussion started by: 14341
1 Replies
LEARN ABOUT OPENDARWIN
pthread_join
PTHREAD_JOIN(3) Linux Programmer's Manual PTHREAD_JOIN(3)
NAME
pthread_join - join with a terminated thread
SYNOPSIS
#include <pthread.h>
int pthread_join(pthread_t thread, void **retval);
Compile and link with -pthread.
DESCRIPTION
The pthread_join() function waits for the thread specified by thread to terminate. If that thread has already terminated, then
pthread_join() returns immediately. The thread specified by thread must be joinable.
If retval is not NULL, then pthread_join() copies the exit status of the target thread (i.e., the value that the target thread supplied to
pthread_exit(3)) into the location pointed to by retval. If the target thread was canceled, then PTHREAD_CANCELED is placed in the loca-
tion pointed to by retval.
If multiple threads simultaneously try to join with the same thread, the results are undefined. If the thread calling pthread_join() is
canceled, then the target thread will remain joinable (i.e., it will not be detached).
RETURN VALUE
On success, pthread_join() returns 0; on error, it returns an error number.
ERRORS
EDEADLK
A deadlock was detected (e.g., two threads tried to join with each other); or thread specifies the calling thread.
EINVAL thread is not a joinable thread.
EINVAL Another thread is already waiting to join with this thread.
ESRCH No thread with the ID thread could be found.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+---------------+---------------+---------+
|Interface | Attribute | Value |
+---------------+---------------+---------+
|pthread_join() | Thread safety | MT-Safe |
+---------------+---------------+---------+
CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
NOTES
After a successful call to pthread_join(), the caller is guaranteed that the target thread has terminated. The caller may then choose to
do any clean-up that is required after termination of the thread (e.g., freeing memory or other resources that were allocated to the target
thread).
Joining with a thread that has previously been joined results in undefined behavior.
Failure to join with a thread that is joinable (i.e., one that is not detached), produces a "zombie thread". Avoid doing this, since each
zombie thread consumes some system resources, and when enough zombie threads have accumulated, it will no longer be possible to create new
threads (or processes).
There is no pthreads analog of waitpid(-1, &status, 0), that is, "join with any terminated thread". If you believe you need this function-
ality, you probably need to rethink your application design.
All of the threads in a process are peers: any thread can join with any other thread in the process.
EXAMPLE
See pthread_create(3).
SEE ALSO
pthread_cancel(3), pthread_create(3), pthread_detach(3), pthread_exit(3), pthread_tryjoin_np(3), pthreads(7)
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
Linux 2017-09-15 PTHREAD_JOIN(3)