PDA

View Full Version : سوال: اجرای همزمان چند تابع در ++C



arshadtehrani
جمعه 21 خرداد 1389, 20:25 عصر
با سلام
من میخوام یه برنامه بنویسم که توی اون چند تا تابع همزمان انجام بشه؟

مثلا : در حینی که سیستم اماده دریافت ورودی از کاربره، یه سری کاراکتر هم روی صفحه حرکت داشته باشن (مثلا از بالا صفحه کم کم بیان پایین)

این کار توی Win App خیلی راحته مثلا میشه از یک timer برای این کار استفاده کرد، ولی الان با ++C به مشکل خوردم. (برنامه من از نوع کنسولیه)

توی سایت های انگلیسی راجع (Multi-threading) یه سری مطلب خوندم ولی متاسفانه هنوز نتونستم این مشکل را رفع کنم.

ممنون میشم از راهنمایی اساتید

tdkhakpur
جمعه 21 خرداد 1389, 21:37 عصر
خب این بستگی به برنامه شما دارد یا از کلاسی تحت عنوان Task استفاده کنید که تقریبا مطالعه بیشتری را می طلبد و یا اینکه راه ساده تر را انتخاب کنید و داخل حلقه ای مانند زیر کدتان را انجام بدید ولی ایراد این کار این هست که شما باید ورودی را خوداتان کنترل کنید.


void otherProc1(void)
{
char *text[]={ "hi",
"I am",
"trurbo debuger",
};
static int i=0;
randomize();
gotoxy(random(80), random(25));
printf("%s", text[i])
i = i==2 ? 0 : i+1;
}
void main(void)
{
bool Continue = true;
char *buff[132];
int c=0;
while(Continue)
{
if( kbhit() ){
buff[c] = getch();
if( buff[c]==13 ) {
Continue = fasle;
buff[c] = 0;
}
else
c = c==132 ? 0 : c+1;
}
otherProc1();
}
printf("\n %s", buff);
getch();
}

داخل فروم نوشته شد.

Nima_NF
شنبه 22 خرداد 1389, 00:38 صبح
http://barnamenevis.org/forum/showthread.php?t=88959
http://www.barnamenevis.org/forum/sh...d.php?t=135552 (http://www.barnamenevis.org/forum/showthread.php?t=135552)
http://barnamenevis.org/forum/showthread.php?t=90928