Witam
Obecnie mam mały problem z tworzeniem dynamicznej tablicy wewnątrz funkcji w osobnym wątku.
W momencie gdy używam funkcji new wewnątrz wątku cały program się zawiesza na około pół sekundy, rozwiązaniem jest użycie statycznej tablicy, jednak ona nie pasuje do innej funkcji. W obecnej sytuacji mam dwa pytania.
- Czy funkcja new nie jest odpowiednia do osobnego wątku czy, może popełniłem jakiś błąd w poniższym kodzie?
void __cdecl Generowanie (void * ArGN);
HANDLE hGN =( HANDLE ) _beginthread( Generowanie, 0, NULL );
void __cdecl Generowanie( void * ArGN ){
GenCR();
_endthread();
}
void GenCR(){
// short int KCMT[w][w][2];
short int *** KCMT = new short int ** [w];
for (short int TB_01 = 0; TB_01 < w; TB_01++){
KCMT[TB_01] = new short int * [w];
for (short int TB_02 = 0; TB_02 < w; TB_02++){
KCMT[TB_01][TB_02] = new short int [2];
}
}
- Dlaczego tablica statyczna nie pasuje do poniższej funkcji, a dynamiczna tak?
short int KCMT2[w][w][2];
short int *** KCMT = new short int ** [w];
for (short int TB_01 = 0; TB_01 < w; TB_01++){
KCMT[TB_01] = new short int * [w];
for (short int TB_02 = 0; TB_02 < w; TB_02++){
KCMT[TB_01][TB_02] = new short int [2];
}
}
MapaUZ (3, KCAT, KCMT);
MapaUZ (3, KCAT, KCMT2);
void MapaUZ (short int Odd, std::vector <short int> &MapaS, short int *** MapaSR){
}