Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Confusion over Multi Threading Post 302930774 by jim mcnamara on Wednesday 7th of January 2015 09:10:52 AM
Old 01-07-2015
Threading can be implemented either in hardware or in software. It is an aspect of multiprocessing - which Windows, and Unix, and Linux all have. How they implement threads varies somewhat but a Windows threads program written in C (not C#) can be converted to either Linux or UNIX with some work. Usually.

One way to look at a thread is to see it as a lightweight process. It operates independently of the parent process for scheduling. It may share resources like common memory with the parent or any related thread in the "process tree" that is created by one parent making several threads. The OS can have kernel threads, which is what symmetric multiprocessing is all about (multiple cpu cores).

This kind of question transcends the usual kind of response on a forum . You need to read.
'Advanced Programming in the UNIX Environment' by Stevens and Rago. Read the chapters on process and threads. Come back with more specific questions.
 

10 More Discussions You Might Find Interesting

1. Programming

Multi threading using posix thread library

hi all, can anyone tell me some good site for the mutithreading tutorials, its application, and some code examples. -sushil (2 Replies)
Discussion started by: shushilmore
2 Replies

2. Programming

Multi-threading questions

I've been doing some reading lately about threading (Posix threads) and I'm really curious about a couple things that I've read. I'm not sure if many people here have threading experience, but I thought it would be nice to be able to discuss some questions about it. (For the record, I did... (1 Reply)
Discussion started by: DreamWarrior
1 Replies

3. Programming

Multi threading using fork

Hi, I have written a code which will run a set of process using fork. I want to know from You how can i start another job when one of my job in my loop is completed My code is #include<stdio.h> #include<ctype.h> main() { int pid,cid; ChildProcess(); ... (1 Reply)
Discussion started by: sureshraju_ma
1 Replies

4. 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

5. 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

6. Programming

Multi-threading-- calling same function through different threads

Sir, Can I call same function in the start routines of different Threads. I have created two different threads....and wanna call same function from both threads....is it possible??? Also can I fork inside a thread??? (1 Reply)
Discussion started by: arunchaudhary19
1 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. UNIX for Beginners Questions & Answers

Does UNIX support multi-Threading ?

Not just background process running ... but im looking if unix has any multi-threading concept like in Java, C# ... if not present, can you pls share the nearest feature in unix that is close to multi-threaded concept (3 Replies)
Discussion started by: i4ismail
3 Replies

10. UNIX for Beginners Questions & Answers

Multi threading in UNIX

Hi, Can we apply multi threading in Unix. I am using bash shell. We have a generic script to load the data to table based on file input. For each file there is an individual table to load. For each file found in directory I want to load the data in parallel to target table using ... (3 Replies)
Discussion started by: vedanta
3 Replies
PTHREAD_BARRIER(3)					   BSD Library Functions Manual 					PTHREAD_BARRIER(3)

NAME
pthread_barrier_destroy, pthread_barrier_init, pthread_barrier_wait -- destroy, initialize or wait on a barrier object LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <pthread.h> int pthread_barrier_destroy(pthread_barrier_t *barrier); int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsigned count); int pthread_barrier_wait(pthread_barrier_t *barrier); DESCRIPTION
The pthread_barrier_init() function will initialize barrier with attributes specified in attr, or if it is NULL, with default attributes. The number of threads that must call pthread_barrier_wait() before any of the waiting threads can be released is specified by count. The pthread_barrier_destroy() function will destroy barrier and release any resources that may have been allocated on its behalf. The pthread_barrier_wait() function will synchronize calling threads at barrier. The threads will be blocked from making further progress until a sufficient number of threads calls this function. The number of threads that must call it before any of them will be released is determined by the count argument to pthread_barrier_init(). Once the threads have been released the barrier will be reset. IMPLEMENTATION NOTES
In both N:M Threading Library (libkse, -lkse) and 1:1 Threading Library (libthr, -lthr) the PTHREAD_BARRIER_SERIAL_THREAD return value will always be returned by the last thread to reach the barrier. RETURN VALUES
If successful, both pthread_barrier_destroy() and pthread_barrier_init() will return zero. Otherwise, an error number will be returned to indicate the error. If the call to pthread_barrier_wait() is successful, all but one of the threads will return zero. That one thread will return PTHREAD_BARRIER_SERIAL_THREAD. Otherwise, an error number will be returned to indicate the error. None of these functions will return EINTR. ERRORS
The pthread_barrier_destroy() function will fail if: [EBUSY] An attempt was made to destroy barrier while it was in use. The pthread_barrier_destroy() and pthread_barrier_wait() functions may fail if: [EINVAL] The value specified by barrier is invalid. The pthread_barrier_init() function will fail if: [EAGAIN] The system lacks resources, other than memory, to initialize barrier. [EINVAL] The count argument is less than 1. [ENOMEM] Insufficient memory to initialize barrier. SEE ALSO
pthread_barrierattr(3) HISTORY
The pthread_barrier_destroy(), pthread_barrier_init() and pthread_barrier_wait() functions first appeared in N:M Threading Library (libkse, -lkse) in FreeBSD 5.2, and in 1:1 Threading Library (libthr, -lthr) in FreeBSD 5.3. BSD
February 19, 2004 BSD
All times are GMT -4. The time now is 03:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy