PDA

View Full Version : مشكل در مولتي ترد



dj_dj_dj
سه شنبه 24 تیر 1393, 18:35 عصر
سلام دوستان
من يه برانامه كوچيك مولتي ترد با استفاده از كتابخانه هاي BOOST نوشتم ولي جواب نميده اين برنامه
#include <iostream>
using namespace std;
#include <windows.h>
#include <pthread.h>
void *test1(void * argument);
void *test2(void * argument);
int main ()
{

pthread_t t1, t2 ;
pthread_create(&t1,NULL,test1,NULL);
pthread_create(&t2,NULL,test2,NULL);
return 0;
}

void *test1(void * argument)
{

while(1){
cout<<"hi";
}
}

void *test2(void * argument)
{


while(1){
cout<<"bye";
}
}

توو اين برنامه دو تا تابع نوشتم كه من از حلقه while بينهايت استفاده كردم ولي اين بعد از چند بار چاپ كردن پيغام ها ديگه چاپ نميكنه علتش چيه نميدونم ! دوستان كسي ميدونه علتش چيه؟
حتي وقتي توو حلقه هاي while يه Sleep 1 ميزارم فقط يك بار پيغام هارو واسم چاپ ميكنه و برنامه متوقف ميشه

dj_dj_dj
سه شنبه 24 تیر 1393, 20:47 عصر
و یه سوال دیگه من میخوام با استفاده از توابع موس
SetCursorPos ( x,y );
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
همزمان روی چند نقطه از صفح کلیک کنم ولی از اونجایی که اشاره گر موس فقط یک دونه هست توو صفحه یکی یکی میره موقعیت ها و کلیک میکنه . از ترد ها هم استفاده کردم فرقی نمیکنه باز یکی یکی کلیک میکنه نمیشه یه جوری اشاره گر مجازی چیزی درست کرد با استفاده از ترد ها(یا هر روش دیگه ای ) همزمان بشه روی چند نقطه از صفحه کلیک کرد؟

مسعود اقدسی فام
چهارشنبه 25 تیر 1393, 00:27 صبح
سلام دوستان
من يه برانامه كوچيك مولتي ترد با استفاده از كتابخانه هاي BOOST نوشتم ولي جواب نميده اين برنامه
#include <iostream>
using namespace std;
#include <windows.h>
#include <pthread.h>
void *test1(void * argument);
void *test2(void * argument);
int main ()
{

pthread_t t1, t2 ;
pthread_create(&t1,NULL,test1,NULL);
pthread_create(&t2,NULL,test2,NULL);
return 0;
}

void *test1(void * argument)
{

while(1){
cout<<"hi";
}
}

void *test2(void * argument)
{


while(1){
cout<<"bye";
}
}

توو اين برنامه دو تا تابع نوشتم كه من از حلقه while بينهايت استفاده كردم ولي اين بعد از چند بار چاپ كردن پيغام ها ديگه چاپ نميكنه علتش چيه نميدونم ! دوستان كسي ميدونه علتش چيه؟
حتي وقتي توو حلقه هاي while يه Sleep 1 ميزارم فقط يك بار پيغام هارو واسم چاپ ميكنه و برنامه متوقف ميشه

این دو تا خط رو آخر برنامه (بعد از شروع به کار threadها) اضافه کنید:


pthread_join( t1, NULL );
pthread_join( t2, NULL );