Sponsored Content
Full Discussion: Threading...
Top Forums UNIX for Dummies Questions & Answers Threading... Post 302088576 by jim mcnamara on Wednesday 13th of September 2006 09:55:42 AM
Old 09-13-2006
In UNIX, you can generally think of a thread as a process that has its own stack for registers but shares code and data with the parent process - and the other threads.

For that reason, thread scheduling can be implemented a lot like process scheduling - ie, there is usually a quantum (time slice) allocated to a process/thread that has the cpu -- threading works much more efficiently in a multi-cpu environment. When the quantum is up and somebody else wants the cpu and is of equal priority, the other guy gets the cpu. Any thread or process with higher priority will pre-empt the cpu from the running process.

So, the answer to your question is: assuming all threads have equal priority - no the other guys will not have to wait. Unless the calculating thread has a mutex the other guys are waiting on. You can implement single-thread priority by using a mutex in other words.

Try man pthread to see what thread scheduling options (if more than one) your implementation of UNIX supports.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

About threading

hai is unix a multithreading environment or multitasking environment? which one exist in UNIX? (1 Reply)
Discussion started by: rajashekaran
1 Replies

2. Programming

Regarding Multi-Threading

Hi All, Here's my question I have a 385 MB file containing 5,000,000 records. I need to read from the file and load into a table. Initially i thought of doing it in a single thread (execution of a single program) but when calculated accounted 16 hours of time on a standard benchmark. Hence... (5 Replies)
Discussion started by: matrixmadhan
5 Replies

3. Programming

Multi threading?

I am not sure if multi threading is the correct term, but here is what I am trying to do. I have a while loop that displays the number 1, pauses, displays the number 2, pauses , displays the number 3 ad infinitum. It just keeps counting. While the screen displays the sequence of numbers counting... (4 Replies)
Discussion started by: enuenu
4 Replies

4. Shell Programming and Scripting

is Threading in shell script possible...?

Hi frnds, I have once script which is executing the command on local and remote machine continuously and I m collecting the required logs in separate file. Now, I m facing one issue... One or two test get hang randomly.. and because of that script get hang in between.... Now to resolve... (2 Replies)
Discussion started by: deepak_p86
2 Replies

5. Programming

threading problem

#include <stdio.h> #include <stdlib.h> #include <pthread.h> void *print_message_function( void *ptr ); main() { pthread_t thread1, thread2; char *message1 = "Thread 1"; char *message2 = "Thread 2"; int iret1, iret2; /* Create independent threads each of... (3 Replies)
Discussion started by: vishy_85
3 Replies

6. Programming

Threading Segmentation fault

Hello All, I am getting segmentation fault after the following lien when I try to run my datagram socket server program using threads: if((n= recvfrom(rec, buf, 1024, 0, (struct sockaddr *)&from_addr, &Size)) < 0) I am not able to figure out what exactly is causing the problem. ... (9 Replies)
Discussion started by: mind@work
9 Replies

7. Programming

Multi-threading

Hi, If we create 10 threads to invoke runQuery method at same time, Will queryProcessor will be overriden sometime or 10 different copies will be created? We are not using any sunchronzation mechnism in runQuery(). so there is not gurantee on QueryProcessor class variables right OR each 10... (1 Reply)
Discussion started by: jramesh1
1 Replies

8. Programming

Multi-threading

In this piece i implemented the gossip method. The first thread is invoked from inside the (msg is first sent from node -1 to 0 from main()) and the other threads are invoked from inside of the thread function itself. I used two mutexes and a condition variable to control the synchronization. ... (4 Replies)
Discussion started by: saman_glorious
4 Replies

9. Shell Programming and Scripting

Threading in unix

Hii all, Is there any way to use thread scripting in unix.?? i.e. running multiple command at same time ? Thankss (3 Replies)
Discussion started by: yashwantkumar
3 Replies

10. UNIX for Dummies Questions & Answers

Confusion over Multi Threading

Hi, I am trying to get my head round Multi Threading and I have a few queries to try and clear up my confusion Q1. Is multi threading a hardware / chip level concept, an OS level or an application level concept ? I am trying to work out where SMT architecture fits in. Q2. What's the multi... (3 Replies)
Discussion started by: jimthompson
3 Replies
PTHREAD_SETSCHEDPRIO(3) 				     Linux Programmer's Manual					   PTHREAD_SETSCHEDPRIO(3)

NAME
pthread_setschedprio - set scheduling priority of a thread SYNOPSIS
#include <pthread.h> pthread_setschedprio(pthread_t thread, int prio); Compile and link with -pthread. DESCRIPTION
The pthread_setschedprio() function sets the scheduling priority of the thread thread to the value specified in prio. (By contrast pthread_setschedparam(3) changes both the scheduling policy and priority of a thread.) RETURN VALUE
On success, this function returns 0; on error, it returns a nonzero error number. If pthread_setschedprio() fails, the scheduling priority of thread is not changed. ERRORS
EINVAL prio is not valid for the scheduling policy of the specified thread. EPERM The caller does not have appropriate privileges to set the specified priority. ESRCH No thread with the ID thread could be found. POSIX.1-2001 also documents an ENOTSUP ("attempt was made to set the priority to an unsupported value") error for pthread_setschedparam(3). VERSIONS
This function is available in glibc since version 2.3.4. CONFORMING TO
POSIX.1-2001. NOTES
For a description of the permissions required to, and the effect of, changing a thread's scheduling priority, and details of the permitted ranges for priorities in each scheduling policy, see sched_setscheduler(2). SEE ALSO
getrlimit(2), sched_get_priority_min(2), sched_setscheduler(2), pthread_attr_init(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthread_self(3), pthread_setschedparam(3), pthreads(7) COLOPHON
This page is part of release 3.53 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-06 PTHREAD_SETSCHEDPRIO(3)
All times are GMT -4. The time now is 03:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy