Threads, Computer Engineering

Assignment Help:

First, remember that different processes keep their own data in distinct address spaces. Threads, on the other hand, explicitly share their entire address space with one another. Although this can make things a lot faster, it comes with the cost of making programming a lot more complicated.

In Unix/POSIX, the threads API is composed of two main calls:


pthread create(), which starts a separate thread;


pthread join(), which waits for a thread to complete.

Notice that the general syntax for using these is:

pid = pthread_create(&tid, NULL, function_ptr, argument);

pthread_join(tid, &result);

Example:
void *run(void *d)
{
int q = ((int) d);
int v = 0;
for (int i=0; iv = v + some_expensive_function_call();
return (void *) v;
}
int main()

{
pthread_t t1, t2;
int *r1, *r2;
int arg1=100;
int arg2=666;
pthread_create(&t1, NULL, run, &arg1);
pthread_create(&t2, NULL, run, &arg2);
pthread_join(t1, (void **) &r1);
pthread_join(t2, (void **) &r2);
cout << "r1= " << *r1 << ", r2=" << *r2 << endl;
}
Notice that the above threads maintain different stacks and different sets of registers; except for those, however, they share all their address spaces. Also notice that if you were to run this code in a 2 core machine, it would be expected that it ran roughly twice as fast as it would in a single core machine. If you ran it in a 4 core machine, however, it would run as fast as in the 2 core machine, since there would be no suf?cient threads to exploit the available parallelism.


Related Discussions:- Threads

How to design a sequential circuit, A sequential circuit is signified by a ...

A sequential circuit is signified by a time sequence of external inputs, external outputs and internal flip-flop binary states. So firstly a state diagram and state table is used t

Explain the working of a demultiplexer, Explain the working of a demultiple...

Explain the working of a demultiplexer with the help of an example. Ans: 1:4 Demultiplexer: Fig.(a) demonstrates the logic circuit of a 1:4 demultiplexer. This has two NOT

What are multidimensional arrays, What are Multidimensional Arrays? Mul...

What are Multidimensional Arrays? Multidimensional array: Multidimensional arrays can be defined as "arrays of arrays". For example, a bidimensional array can be fictional as a

Define about classes of object oriented modelling, Define about classes of ...

Define about classes of object oriented modelling A class is a collection of things, or concepts that have the same properties. Each of these concepts or things is known an obj

Superscalar processors, Superscalar Processors In scalar processors, on...

Superscalar Processors In scalar processors, only one instruction is implemented per cycle. That means only single instruction is issued per cycle and only single instruction i

Cn, What is the basic requirement for establishing VLANs?

What is the basic requirement for establishing VLANs?

What are the various design constraints, What are the various Design constr...

What are the various Design constraints used while performing Synthesis for a design? 1. Make the clocks (frequency, duty-cycle). 2. Explain the transition-time requirements

Instruction set architecture - assembly language, Instruction Set Architect...

Instruction Set Architecture (ISA): The Instruction Set Architecture (ISA) is the part of the processor which is noticeable to the compiler writer or programmer. The ISA serve

Artificial neural networks, Artificial Neural Networks: However imagin...

Artificial Neural Networks: However imagine now in this example as the inputs to our function were arrays of pixels and there actually taken from photographs of vehicles such

How e-commerce works for the customer, The customers visit the website and ...

The customers visit the website and browse through the products, looking at pictures and products details. When the customer finds his desired product, he usually adds it to his ca

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd