Wpis z mikrobloga

#c++ #programowanie #cpp #pytaniedoeksperta

Hej MirkoGuruCpp pytanko uczę się pisać w c++ i na dodatek wielowątkowo ;(
ale dostaje

Segmentation fault (core dumped)

https://github.com/dzaczek/codingground/blob/master/ProgWsp2/main.cpp

http://goo.gl/7KqEHK

Może komuś się rzuci w oczy co nie gra .

Program w założeniu ma podawać złe wyniki N wątki moja bez blokad pracować na 1 tabeli histogram[]
dzaku - #c++ #programowanie #cpp #pytaniedoeksperta 

Hej MirkoGuruCpp pytanko uczę...

źródło: comment_fNYKXwgz5JE157h7dvCA5D11XWYIJn2t.jpg

Pobierz
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dzaku: Nie chce mi się analizować całości, bo długie, ale na pierwszy rzut oka - masz zmienne globalne, używasz ich zapewne w kilku wątkach, a chronisz je semaforami? - bo tego nie widzę.
  • Odpowiedz
@Kaczus2B: Zmienne globalne hmm a wspólny odczyty mogą się blokować ? bo zmiennych globlnych poza tablica histogram praktycznie nie zmieniam .
  • Odpowiedz
@dzaku: w konsoli wpis ulimit -u unlimited , odpal program, jak znowu dostaniesz core dumpa, powinien sie stworzyc plik o nazwie 'core' w katalogu aplikacji. Potem gdb sciezka_do_aplikacji --core core, wpisz backtrace i masz miejsce gdzie Ci sie wysypalo.
  • Odpowiedz
@dzaku:
1) linijka 190: zmien na sizeof(histogram)/sizeof(int) lub na histogram.size() lub na SIZEARRAY
2) zmieniajac zakres
liczb na wiekszy niz 100 dziala

dlaczego uzywasz a nie ?
  • Odpowiedz
@afe1: no jeszcze zrobiłem aby wątki pracowały na wskaźnikach do tabeli . pthreads nie wiem czemu ;P gdzies tak bylo w jakim tutorialu ;S z tym size masz zdecydowanie racje ;P
  • Odpowiedz