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

Determine the adding operations of describe function, Adding Operations of ...

Adding Operations of describe function  Whenever take a look at the operations in OOPs you find queries about attributes or associations in object model (such as student.name)

Computer graphics, what do you mean by inter leasing.how it is display the ...

what do you mean by inter leasing.how it is display the frame having 525 scan lines

#MyLife, where should I work?

where should I work?

Applications of linked list, What are the Applications of Linked List are ...

What are the Applications of Linked List are a) Fixed block storage allocation b) garbage collection

What do youe mean of quality of service, Quality of Service: This is asses...

Quality of Service: This is assessed on the basis of customer's satisfaction.

Testmanager can be used for performance testing, Rational Testmanager is a ...

Rational Testmanager is a complicated tool that can be used for automating performance tests on client/server systems. A client/server system have client applications accessing a d

State about the mp4- mpeg-4, MP4 (MPEG-4) MPEG-4 files are in a format ...

MP4 (MPEG-4) MPEG-4 files are in a format which can hold a mixture of multimedia objects like video, audio, animation, images etc. MP4 players again use compression technology

Explain the main characteristics of semiconductor memory, Explain the Main ...

Explain the Main characteristics of semiconductor memory Memory, with regard to computers, most commonly signifies to semiconductor devices whose contents can be accessed (whic

Explain the state space of search problem, Question: (a) Assume you are...

Question: (a) Assume you are a taxi driver. Your taxi can hold four passengers. Passengers pay a flat fee for a ride to the airport, so your goal is to pick up four passengers

Bit manipulation techniques, We can also use the logical operators to numbe...

We can also use the logical operators to numbers directly and  perform simple bit manipulation . The operators are     &  Bitwise AND     |  Bitwise OR     ^  Bitwise exclusiv

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