pthreads

Dlaczego funkcje zmiennych warunkowych pthreads wymagają mutex?

Czytam pthread.h; funkcje związane ze zmienną warunkową (jak pthread_cond_wait(3)) wymagają mutex jako argumentu. Dlaczego? Z tego co wiem, to będę tworzyć mutex Tylko , Aby użyć jako tego argumentu? Co ten mutex ma zrobić?

funkcja pthread z klasy

Powiedzmy, że mam klasę taką jak class c { // ... void *print(void *){ cout << "Hello"; } } I wtedy mam we ... liwe.* () (void)' dla argumentu '3' do 'int pthread_create(pthread_t*, const pthread_attr_t*, void *() (void), void*) '

C++11 std:: threads vs posix threads

Dlaczego mam preferować takie czy inne w praktyce? Czym są różnice techniczne poza tym, że std::thread jest klasą?

Wywołanie sygnału pthread cond bez blokowania mutex

Czytałem gdzieś, że powinniśmy zablokować mutex przed wywołaniem pthread_cond_signal i odblokować mutext po wywołaniu: ... a. Moje pytanie brzmi: czy nie można dzwonić pthread_cond_signal lub pthread_cond_broadcast metody bez blokowania mutex?

Wciąż osiągalny wyciek wykryty przez Valgrind

Wszystkie funkcje wymienione w tym bloku są funkcjami bibliotecznymi. Jak mogę naprawić ten wyciek pamięci? Znajduje się w ... ; } free(threadIdArray); return(0); } Run with: valgrind -v --leak-check=full --show-reachable=yes ./a.out

Co to jest blokada ponownego wejścia i koncepcja w ogóle?

Zawsze się mylę. Czy ktoś mógłby wyjaśnić, co oznacza Reentrant w różnych kontekstach? I dlaczego chcesz użyć reentrant vs. n ... y są one ponownie włączone czy nie? Jakich pułapek należy unikać podczas ich używania? Czy mutex jest ponownie uczestnikiem?

Dlaczego pthread cond wait ma fałszywe przebudzenia?

Aby zacytować stronę podręcznika: Podczas używania zmiennych warunkowych zawsze istnieje predykat Boolowski zawierający ... budzi się tylko wtedy, gdy zostanie odpowiednio zasygnalizowany? Czy ktoś może wyjaśnić przyczynę jego fałszywego zachowania?

wydajny wątek-Bezpieczny singleton w C++

Zwykły wzór dla klasy singleton jest czymś w rodzaju static Foo &getInst() { static Foo *inst = NULL; if(inst == NU ... ządkiem inicjalizacji, które mogą wystąpić, tzn. czy inst zawsze gwarantuje, że będzie NULL przy pierwszym wywołaniu getInst?

Wątki i sygnały POSIX

Próbowałem zrozumieć zawiłości w jaki sposób wątki POSIX i sygnały POSIX oddziałują ze sobą. W szczególności interesuje mnie: ... ej sprawić, aby niektóre użyteczne części wspierały wątki. Sygnały są jedną z tych części, które są szczególnie interesujące.

Wolnostojące kontra łączone wątki POSIX

Używam biblioteki pthread do tworzenia i łączenia wątków w C. Kiedy należy utworzyć wątek jako odłączony, od samego począt ... hread_join() na łączonym (domyślnie) wątku? Czy taki wątek powinien zawsze używać funkcji detach() przed pthread_exit() ing?

Znaczenie flagi-pthread podczas kompilacji

W różnych wielowątkowych projektach C i C++ widziałem flagę -pthread zastosowaną zarówno do etapu kompilacji, jak i łączenia, ... ilowania i linkowania z flagą -pthread - czyli co faktycznie robi -pthread? Interesują mnie przede wszystkim platformy Linux.

pthreads mutex vs SEMAFOR

Jaka jest różnica między semaforami a mutexem dostarczanym przez Bibliotekę pthread ?

Pthread i warunki oczekiwania

Uczę się pthread i warunków oczekiwania. Z tego co wiem typowy wątek oczekujący wygląda tak: pthread_mutex_lock(&m); wh ... lock(&m); condition = true; pthread_cond_signal(&cond); // Should wake up *one* thread pthread_mutex_unlock(&m);

Czy pthread Cond wait (&cond t, & mutex); odblokowuje, a następnie blokuje mutex?

Używam pthread_cond_wait(&cond_t, &mutex); w moim programie i zastanawiam się, dlaczego ta funkcja potrzebuje jako dr ... ku (początek wykonania pthread_cond_wait()), a następnie blokuje po zakończeniu (tuż przed opuszczeniem pthread_cond_wait())?

pthread join() i pthread exit()

Mam pytanie dotyczące programowania współbieżnego w C. W bibliotece pthread prototyp pthread_join to int pthread_join(pthr ... zakończonego wątku? Chodzi mi o to, że w zasadzie wszystkie są wartościami zwrotnymi z wątku, dlaczego jest różnica w typie?

Czy biblioteka Pthread jest rzeczywiście rozwiązaniem wątku użytkownika?

Tytuł może nie być wystarczająco jasny, ponieważ Nie wiem, jak właściwie zdefiniować moje pytania. Rozumiem, że pthread jest ... . Mogę więc powiedzieć, że Pthread oferuje rozwiązanie na poziomie użytkownika dla wątków? Nie może manipulować kernel / LWP?

Wiele argumentów do funkcji wywołanej przez pthread create ()?

Muszę przekazać wiele argumentów do funkcji, którą chciałbym wywołać w osobnym wątku. przeczytałem, że typowym sposobem na to ... Wyjście powinno być: 5 7 Ale jak go uruchamiam to faktycznie dostaję: 141921115 -1947974263 Ktoś wie, co robię źle?

Jak wydrukować pthread t

Szukane, ale nie natykaj się na satysfakcjonującą odpowiedź. Wiem, że nie ma przenośnego sposobu na wydrukowanie pthread_t. ... więc jest to duża liczba, a samo drukowanie zajmuje cenne miejsce w linii debugowania. Jak czy gdb przypisuje krótkie tids?

wątki mingw - w64: posix vs win32

Instaluję mingw - w64 na Windows i są dwie opcje: wątki win32 i wątki posix. Wiem jaka jest różnica między wątkami win32 a pt ... ead. Ok, jeśli wybieram wątki win32 wtedy wątek std:: będzie niedostępny, ale wątki win32 będą nadal używane. Ale przez co?

Zalety stosowania zmiennych warunkowych w stosunku do mutex

Zastanawiałem się, jakie są korzyści wydajnościowe z używania zmiennych warunkowych nad blokadami mutex w pthreads. To co z ... i tak zapewnia korzyści, które paradygmat zmiennych warunkowych może zapewnić. Czy możesz wyjaśnić, co się naprawdę dzieje?