Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Confusion over Multi Threading Post 302930767 by jimthompson on Wednesday 7th of January 2015 06:17:25 AM
Old 01-07-2015
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 threading position in relation to Unix, Linux and Windows ?

Q3. Is multi threading only in relation to application processes or is it for OS processes as well ? I am trying to differentiate multi threading from the older CPU concepts of timeslicing, round robin etc

My understanding is that you can have multi processing systems which switch between or execute processes in parallel. However multi threading takes this a step further in that a process can be broken down into threads and the processor execute the individual threads ( again via switching or parallel depending on the number of processors / cores you have )

Q4. Are processors therefore specifically designed either to execute full processes, threads or both ? Can a single processor execute a mix of full processes and threads ? i.e. does a processor operate only at either a process level or a thread level ?

Q5. What's the difference between a single processor with multi cores and a multi processor with single core processors ?

Q6. Are most modern processors today, multi thread capable processors ( or is it the OS which determines this ). Does the processor have to be specifically set to multi threading ?

any help greatly appreciated
Jim
 

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
processor_sets(4)					     Kernel Interfaces Manual						 processor_sets(4)

NAME
processor_sets - Collections of processors DESCRIPTION
A processor set is a collection of processors. When a processor set is first created, it does not contain any processors. You can add processors to a processor set, remove processors from a processor set, and also destroy the processor set. In addition, you can assign specific processes to a processor set. When the system is booted, all its processors are assigned to the default processor set. Each processor in a system can be a member of only one processor set at one time. In addition, when you create a process, it is assigned to a processor set. Unless you indicate a specific processor set, a process is assigned to the default processor set. A process can execute only on an processor that is included in the processor set to which the process is assigned. If you assign a process to an empty processor set, it will not execute until a processor is assigned to the processor set or until the process is assigned to another processor set. Use the pset_create command or the create_pset function to create a processor set. When you first create a processor set, it does not con- tain any processors. Use the pset_assign_cpu command or the assign_cpu_to_pset function to assign processors to a specific processor set. When you assign a processor to a specific processor set, the processor is removed from its current processor set. Use the pset_destroy command or the destroy_pset function to destroy a processor set. Processors that belong to a destroyed processor set are assigned to the default processor set. Use the pset_assign_pid command or the assign_pid_to_pset function to assign a process to a specific processor set. In addition, you can request that a process has exclusive access to a processor set. If a process has exclusive access to a processor set, no other process is able to use that processor set. If a process has exclusive access to a processor set, that access will be cleared automatically when the process exits. Note that if a process is already assigned to a processor set, a request for exclusive access to that processor set will be denied. Use the pset_info command to display the status of each processor set on the system as well as the status of each processor. You must be root to create and destroy processor sets and to assign a processor to a processor set. Processor set creation and destruction and processor assignments to processor sets are logged in the /var/adm/wtmp file. FILES
/var/adm/wtmp RELATED INFORMATION
Commands: pset_create(1), pset_destroy(1), pset_info(1), pset_assign_pid(1), pset_assign_cpu(1), runon(1), psrinfo(1), psradm(8) Functions: assign_pid_to_pset(3), assign_cpu_to_pset(3), create_pset(3), destroy_pset(3) delim off processor_sets(4)
All times are GMT -4. The time now is 08:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy