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?