Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Metus_Violarium

Задротам нитей в С++, вам сюда!!!

Рекомендованные сообщения

Вобщем есть код.

смысл в том, чтобы выполнялось несколько нитей одновременно. Нити одинаковые, просто считают разные области значений - для распараллеливания.

вот код, который работает:

           

//sc1=new scaner(false);

//sc2=new scaner(false);

//sc3=new scaner(false);

//sc4=new scaner(false);

//sc5=new scaner(false);

//...

//sc1->startp=StrToInt(LabeledEdit1->Text);

//sc1->endp=StrToInt(LabeledEdit2->Text);

//sc1->num=0;

//sc2->startp=StrToInt(LabeledEdit1->Text);

//sc2->endp=StrToInt(LabeledEdit2->Text);

//sc2->num=1;

//sc3->startp=StrToInt(LabeledEdit1->Text);

//sc3->endp=StrToInt(LabeledEdit2->Text);

//sc3->num=2;

//sc4->startp=StrToInt(LabeledEdit1->Text);

//sc4->endp=StrToInt(LabeledEdit2->Text);

//sc4->num=3;

//sc5->startp=StrToInt(LabeledEdit1->Text);

//sc5->endp=StrToInt(LabeledEdit2->Text);

//sc5->num=4;

//...

//sc1->FreeOnTerminate=true;

//sc2->FreeOnTerminate=true;

//sc3->FreeOnTerminate=true;

//sc4->FreeOnTerminate=true;

//sc5->FreeOnTerminate=true;

ну создаются 5 нитей и выполняются, всё пучком.

 

 

Но я хочу сделать так, чтобы можно было создавать нити динамически, то есть в интерфейсе вводишь число и поехало, подумал, что будет грамотно заюзать массив нитей:

 

            sc=new scaner* [num_proc];

for(int i=0;i<num_proc;i++)

{

sc [i ]->startp=StrToInt(LabeledEdit1->Text);

sc [i ]->endp=StrToInt(LabeledEdit2->Text);

sc [i ]->num=i;

                      sc[ i]->FreeOnTerminate=true;

}

Всё компиллиться, только во время работы выдаёт ошибку с памятью, ну типа нет доступа туда и туда то.

если кто знает, подскажите, где косяк.

 

З.Ы. всё вышло, надо было написать так, что-то я сразу не подумал -_-

            sc=new scaner* [num_proc];

for(int i=0;i<num_proc;i++)

{

                      sc[ i ]=new scaner(false);

                    sc [i ]->startp=StrToInt(LabeledEdit1->Text);

sc [i ]->endp=StrToInt(LabeledEdit2->Text);

sc [i ]->num=i;

                      sc[ i]->FreeOnTerminate=true;

}

Поделиться сообщением


Ссылка на сообщение

тебе зачем ?


f196a53e2b9ece67382f24de4c94bd9d-full.jp

[02:37:27] <Q_Q|Kosty> hahaha nehuya
[02:37:30] <Q_Q|Kosty> sam amdota v rume
[02:37:33] <Q_Q|Kosty> eto kak podarok na novi god

Поделиться сообщением


Ссылка на сообщение

автор победил


мой - железнопопик

в мире доты неизвестен как LadyLama

 

Положение о медведях

1
тот который в очках должен быть первым, типо пиздатый

негр в середине крутит педали

с топором сзади контролит негра

 

 

2

значит ты можешь сосать медведя, думая о панде, вторым мышлением думая о письке, а можешь сосать панду, думая о письке, ну и сосать письку, думая о письке, естественно

 

 

Eclips: "Я ХЭД ГЛОБАЛ МОДЕРАТОР СУКА"

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...