The prototype for pthread_create function is like this:-
Q.1 .Why the return type of the start_routine must be void*??
Q.2. Why should we pass arg by converting into void * only ??
Thank You
Last edited by Scott; 11-15-2010 at 02:58 AM..
Reason: Code tags
Here is simple code for multithreading in POSIX:
void* simplethread(void* arg)
{
printf("Hello World\n");
}
int main(void)
{
pthread_t id;
pthread_create(&id, NULL, simplethread, NULL);
return 0;
}
Whether the new thread will run or not depends on the OS. Tricky ... (5 Replies)
Hello
My problem goes like this:
I have used Pthread_create, and I have tryed to create 2 proccess but nothing happens! It does not even matter what the function im trying to create do. It is if im trying to activate an empty function. This is my code.
Any help will be highly appreciated.... (1 Reply)
Hi.
I use C++ and I wishes to create a thread with the pthread_create function, my question is, how can I do this if I wish that the function will be a member of the class ??
I know from windows programming that I can declare a static function like this
static unsigned int __stdcall... (7 Replies)
Im trying to run an application i compiled (iperf) and i get an error telling me that it cant create the pthread. when i ran the ./configuration one of the things it checked was for pthreads which came back ok.
Im not really sure where to even start to resolve this. i have been unable to find... (5 Replies)
I try to compile a sample c code in fedora eclipse 3.2 as managed makefile using pthread library,it shows some error on pthread functions.Error is of undefined reference to pthread.Anybody guide me to solve this problem.
Thanking you (1 Reply)
Hi guys.
H was learning posix threads in C with anjuta IDE. it gives me
undefined reference to `pthread_create'
I know i should compile it like:
gcc -lpthread main.c
how should i import this configuration in anjuta so i can compile inside it? (2 Replies)
Hi,
I'm trying to do my homework assignment but I am having trouble using the pthread_create fucntion.
Here is my code________________
//Alicia Johnson
//sum_pid program
//creates n number of threads. These threads create a random number
//then adds the number to a global array. Then... (1 Reply)
Suppose I have a simple program main() with a global varibale int x=0.
int x = 0;
main()
{
print("%d\n",x);
}
I want to create two threads/process which must access this variable x in sync.
Which one will be better threads( pthread_create ) or process( fork )?
If I go with fork() then... (1 Reply)
Discussion started by: rupeshkp728
1 Replies
LEARN ABOUT MOJAVE
pthread_create
PTHREAD_CREATE(3) BSD Library Functions Manual PTHREAD_CREATE(3)NAME
pthread_create -- create a new thread
SYNOPSIS
#include <pthread.h>
int
pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);
DESCRIPTION
The pthread_create() function is used to create a new thread, with attributes specified by attr, within a process. If attr is NULL, the
default attributes are used. If the attributes specified by attr are modified later, the thread's attributes are not affected. Upon suc-
cessful completion pthread_create() will store the ID of the created thread in the location specified by thread.
The thread is created executing start_routine with arg as its sole argument. If the start_routine returns, the effect is as if there was an
implicit call to pthread_exit() using the return value of start_routine as the exit status. Note that the thread in which main() was origi-
nally invoked differs from this. When it returns from main(), the effect is as if there was an implicit call to exit() using the return
value of main() as the exit status.
Upon thread exit the storage for the thread must be reclaimed by another thread via a call to pthread_join(). Alternatively,
pthread_detach() may be called on the thread to indicate that the system may automatically reclaim the thread storage upon exit. The
pthread_attr_setdetachstate() function may be used on the attr argument passed to pthread_create() in order to achieve the same effect as a
call to pthread_detach() on the newly created thread.
The signal state of the new thread is initialized as:
o The signal mask is inherited from the creating thread.
o The set of signals pending for the new thread is empty.
RETURN VALUES
If successful, the pthread_create() function will return zero. Otherwise an error number will be returned to indicate the error.
ERRORS
The pthread_create() function will fail if:
[EAGAIN] The system lacked the necessary resources to create another thread, or the system-imposed limit on the total number of
threads in a process [PTHREAD_THREADS_MAX] would be exceeded.
[EPERM] The caller does not have appropriate permission to set the required scheduling parameters or scheduling policy.
[EINVAL] The value specified by attr is invalid.
SEE ALSO fork(2), pthread_attr(3), pthread_cancel(3), pthread_cleanup_pop(3), pthread_cleanup_push(3), pthread_exit(3), pthread_join(3)STANDARDS
The pthread_create() function conforms to ISO/IEC 9945-1:1996 (``POSIX.1'').
BSD March 15, 2014 BSD