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_BARRIERATTR(3)					   BSD Library Functions Manual 				    PTHREAD_BARRIERATTR(3)

NAME
pthread_barrierattr_destroy, pthread_barrierattr_getpshared, pthread_barrierattr_init, pthread_barrierattr_setpshared -- manipulate a barrier attribute object LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <pthread.h> int pthread_barrierattr_destroy(pthread_barrierattr_t *attr); int pthread_barrierattr_getpshared(const pthread_barrierattr_t *attr, int *pshared); int pthread_barrierattr_init(pthread_barrierattr_t *attr); int pthread_barrierattr_setpshared(pthread_barrierattr_t *attr, int pshared); DESCRIPTION
The pthread_barrierattr_init() function will initialize attr with default attributes. The pthread_barrierattr_destroy() function will destroy attr and release any resources that may have been allocated on its behalf. The pthread_barrierattr_getpshared() function will put the value of the process-shared attribute from attr into the memory area pointed to by pshared. The pthread_barrierattr_setpshared() function will set the process-shared attribute of attr to the value specified in pshared. The argument pshared may have one of the following values: PTHREAD_PROCESS_PRIVATE The barrier object it is attached to may only be accessed by threads in the same process as the one that created the object. PTHREAD_PROCESS_SHARED The barrier object it is attached to may be accessed by threads in processes other than the one that created the object. RETURN VALUES
If successful, all these functions will return zero. Otherwise, an error number will be returned to indicate the error. None of these functions will return EINTR. ERRORS
The pthread_barrierattr_destroy(), pthread_barrierattr_getpshared() and pthread_barrierattr_setpshared() functions may fail if: [EINVAL] The value specified by attr is invalid. The pthread_barrierattr_init() function will fail if: [ENOMEM] Insufficient memory to initialize the barrier attribute object attr. The pthread_barrierattr_setpshared() function will fail if: [EINVAL] The value specified in pshared is not one of the allowed values. SEE ALSO
pthread_barrier_destroy(3), pthread_barrier_init(3), pthread_barrier_wait(3) HISTORY
The pthread_barrierattr_*() 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. BUGS
The implementation of barriers does not fully conform to IEEE Std 1003.2 (``POSIX.2'') because the process-shared attribute is ignored in 1:1 Threading Library (libthr, -lthr), and in N:M Threading Library (libkse, -lkse); if any value other than PTHREAD_PROCESSES_PRIVATE is speci- fied in a call to pthread_barrierattr_setpshared(), it will return EINVAL. BSD
February 19, 2004 BSD
All times are GMT -4. The time now is 04:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy