03-23-2011
Which version of Solaris are you using? I believe that CLOCK_THREAD_CPUTIME_ID was added in one of the later Solaris 10 updates. However, it might have only been added to the header to pass the UNIX03 VSTH test suite and not actually implemented.
Another possible way is to use getrusage(RUSAGE_LWP, ....) In Solaris 9 and above the default correspondence between threads and LWPs is 1x1, not MxN.
This User Gave Thanks to fpmurphy For This Post:
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
If unix says my cpu load is 2.15 exactly what does that mean?
--Jason (1 Reply)
Discussion started by: Mac J
1 Replies
2. Forum Support Area for Unregistered Users & Account Problems
How to post a new thread (Regarding Unix related doubts) in Unix Forums.
I registered my id but I am unable to post my Questions to Forum.
Thanks & Regards,
indusri (1 Reply)
Discussion started by: indusri
1 Replies
3. Shell Programming and Scripting
Hello
Ive written 2 programs in shell and I need to compare their speed (Compile) against one another.
what methods could I go about doing this?
Is there a feature in shell do accommodate this? (2 Replies)
Discussion started by: Darklight
2 Replies
4. UNIX for Advanced & Expert Users
I am working on an application with some rather interesting build performance issues. If we build on Solaris/Linux x86/AMD64 the build is rather fast, but it takes more than five times as long on our Solaris Sparc servers (single-threaded builds on the workstations, but multi-threaded on the... (5 Replies)
Discussion started by: Elric of Grans
5 Replies
5. Solaris
hi there, i'd like to know what exactly zpool's iostat (-v) output measure, especially the writes. Is it only the writes to the ZIL or all writes (including commmits) to the disks? if anyone knows, that'd be helpful roti (1 Reply)
Discussion started by: rotunda
1 Replies
6. UNIX for Advanced & Expert Users
Hi
For our load testing , we are using stubs (unix shell script) which send the response to the request coming from the application. As the unix stub is single threaded , it is responding to only one request whereas multiple requests come in parallely.
I haven't worked on thread concepts... (5 Replies)
Discussion started by: jenanee
5 Replies
7. AIX
Hello guys,
I am doing a performance analysis on one of our psystem. Most of time I am using Nmon analyser to do my trend graph. But I can't find any help with it. We are interesting in the time spend by tasks in Aix run queue.
After looking the Aix documentation, I am pessimist to find any... (3 Replies)
Discussion started by: GiiGii
3 Replies
8. Solaris
Hi
I have a system running solaris 10, and I intend to use a NetApp as its storage system. The application requires a throughput between the server and the storage 7000 disk IOPS (random IO sustained throughput with response time of 20 mili second and 16k block size).
How to make sure that I... (6 Replies)
Discussion started by: fretagi
6 Replies
9. Shell Programming and Scripting
Greetings!
I set up a basic threading specimen which does the job:#!/usr/bin/python
import threading
class a(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
print("thread a finished")
class b(threading.Thread):
... (0 Replies)
Discussion started by: LinQ
0 Replies
LEARN ABOUT LINUX
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 *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.
CONFORMING TO
POSIX.1-2001.
NOTES
After a successful call to pthread_join(), the caller is guaranteed that the target thread has terminated.
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 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-11-27 PTHREAD_JOIN(3)