I decided to learn threading for a program of mine which seems (I may be wrong) to scream its necessity.
I thought threads were supposed to be executed in parallel in machines having more than one core.
So why am I getting the following output from the following program?
[I left out joining for now...Does that play a role here ?]
Code:
#define _REENTRANT
#include<pthread.h>
#include<iostream>
using namespace std;
void* foo(void* arg);
int main()
{
int return_value;
pthread_t reference;
return_value= pthread_create(&reference,NULL,foo,NULL);
if(return_value!=0)
{
cout<<"Creation Failed";
return 1;
}
int x(10);
while(x--)
cout<<8;
return 0;
}
void* foo(void* arg)
{
//cout<<"Thread Running.."<<endl;
int x(10);
while(x--)
cout<<9;
return (void*)(arg);
}
The output is instead of my expected jumble of 9s and 8s. Why is it so ?