Oregon purtroppo nulla, noto che Visual C++ anche senza studio è davvero troppo pesante per la macchina virtuale che utilizzo, non riesco a dargli più ' potenza' causa altri software in utilizzo quindi devo limitarmi a codelite.
Comunque ho scoperto che pthread non mi funzionava causa mancanza delle librerie nel compilatore, le ho marcate ed installate e ora il sorgente viene compilato con pthread.
Il problema che riscontro però è che il codice mi funziona sempre sequenziale..
codice:
#include <pthread.h>
#include <windows.h>
#include <winuser.h>
#include <wininet.h>
#include <iostream>
#include <fstream>
#include <ctime>
#include <string>
#include <Lmcons.h>
#include <sstream>
#include <algorithm>
#include <stdio.h>
#include <windowsx.h>
using namespace std;
////// runner
void *runner(void*)
{
while(true){
cout << "Hello";
Sleep(100);
}
}
/////////////////// end runner
int main()
{
pthread_t t1;
pthread_create(&t1, NULL, &runner, NULL);
void* result;
pthread_join(t1,&result);
while(true){
cout << "Bye";
Sleep(100);
}
}
Per esempio, vorrei che questo codice stampasse: Hello BYE Hello BYE Hello ... invece il risultato è Hello ciclico e a meno che non rimuovo il primo ciclo while (ma in questo caso diventa Hello BYE BYE BYE), nonostante stia utilizzando pthread la parte restante del codice main mi viene ignorata finchè il thread non è concluso.
Sareste mica così gentili da dare un'occhiata veloce e indirizzarmi sulla retta via? Dove sto sbagliando ancora?
(ps le librerie incluse sono superflue per questo codice ma dato che le sto utilizzando anche per altro non sono stao li a rimuoverle, che tanto è ininfluente)
ppss vi ringrazio per la gentilezza, e vi assicuro non voglio la pappa pronta o qualcuno che faccia il lavoro al posto mio ma sono su questo punto da un pò di giorni e non ne vengo fuori...