@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ę.
@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.
@dzaku: 1) linijka 190: zmien na sizeof(histogram)/sizeof(int) lub na histogram.size() lub na SIZEARRAY 2) zmieniajac zakresliczb na wiekszy niz 100 dziala
@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
dzieki za rady nie poddaje sie :) segmentation fault naprawione teraz tylko doczytac pthread lib bo za szybko sie program konczy :) @afe1: @Zimnx: @fnord23: @fnord23:
@dzaku: Nic z tego nie rozumiem :D Domyslam sie, ze chcesz zmierzyc jak program szybko dziala w zaleznosci od ilosci watkow jaka utworzysz do przetworzenia? Zapisz wtedy czas przed petla tworzaca watki, i czas po zjoinowaniu wszystkich. Odejmij roznice i masz czas. Polecam std::chrono z C++11: http://stackoverflow.com/questions/11062804/measuring-the-runtime-of-a-c-code
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[]
źródło: comment_fNYKXwgz5JE157h7dvCA5D11XWYIJn2t.jpg
Pobierz@dzaku: Sugeruję najpierw nauczyć się w ogóle programować, a później przejść na programowanie wielowątkowe.
Pozdrawiam
@dzaku: ale zmieniasz ją w wątku :D bez muteksów, semaforów itp
gdb mainrun
backtrace
ulimit -u unlimited, odpal program, jak znowu dostaniesz core dumpa, powinien sie stworzyc plik o nazwie 'core' w katalogu aplikacji. Potemgdb sciezka_do_aplikacji --core core, wpiszbacktracei masz miejsce gdzie Ci sie wysypalo.@Zimnx: dzieki za rade przestuje to na fizycznym bo na tutorial point nie da rady :)
-g -O0, zeby cokolwiek widziec ;)1) linijka 190: zmien na sizeof(histogram)/sizeof(int) lub na histogram.size() lub na SIZEARRAY
2) zmieniajac zakresliczb na wiekszy niz 100 dziala
dlaczego uzywasz a nie ?
@afe1:
@Zimnx:
@fnord23:
@fnord23:
źródło: comment_2Ct29tvAUl3eWMHpHJzQ67YaKSsh4mr6.gif
Pobierz( ͡° ͜ʖ ͡°)
@afe1: To nie może byc tak proste ;P
Hej hej @Zimnx: @PanWitold:
Szybkie pytanko bo mierze czasy wykonywania za pomocą 2 metod i poza
źródło: comment_cSwGLb48P9XOKmSp9ZP0pqAeUbz9DOFo.jpg
Pobierz