«pthreads» 태그된 질문

Pthreads (POSIX Threads)는 스레드를 만들고 조작하기위한 표준화 된 C 기반 API입니다. 현재 POSIX.1-2008 (IEEE Std 1003.1, 2013 Edition / The Open Group Base Specifications Issue 7)에 정의되어 있습니다.

14
Linux에서 pthread_create에 대한 정의되지 않은 참조
https://computing.llnl.gov/tutorials/pthreads/ 에서 웹에서 다음 데모를 선택했습니다. #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf("Hello World! It's me, thread #%ld!\n", tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In main: creating …


3
cmake와 libpthread
나는 중이에요 RHEL 5.1및 사용gcc . 컴파일 및 링크 cmake에 추가 -pthread하도록 하려면 어떻게 합니까?
188 pthreads  cmake 



5
Valgrind에 의해 여전히 도달 가능한 누출 감지
이 블록에서 언급 된 모든 기능은 라이브러리 기능입니다. 이 메모리 누수를 어떻게 해결할 수 있습니까? " 여전히 접근 가능 "범주 아래에 나열됩니다 . (매우 유사하지만 크기가 다른 4 개가 더 있습니다) 630 bytes in 1 blocks are still reachable in loss record 5 of 5 at 0x4004F1B: calloc (vg_replace_malloc.c:418) by …
154 c  pthreads  valgrind 

4
pthread_cond_wait에는 왜 가짜 웨이크 업이 있습니까?
매뉴얼 페이지를 인용하려면 : 조건 변수를 사용할 때 스레드가 계속 진행되어야하는 각 조건 대기와 연관된 공유 변수와 관련된 부울 술어가 항상 있습니다. pthread_cond_timedwait () 또는 pthread_cond_wait () 함수에서 가짜 웨이크 업이 발생할 수 있습니다. pthread_cond_timedwait () 또는 pthread_cond_wait ()의 리턴은이 술어 값에 대해 아무 것도 암시하지 않으므로 해당 리턴시 술어를 …
145 c  pthreads 

2
컴파일 할 때 -pthread 플래그의 의미
다양한 멀티 스레드 C 및 C ++ 프로젝트에서 -pthread플래그는 컴파일 및 연결 단계 모두에 적용되는 반면 다른 사람들은 전혀 사용하지 않고 -lpthread연결 단계로 전달 됩니다. 컴파일 및 -pthread플래그 와 연결되지 않은 위험 -pthread이 있습니까? 즉 실제로 무엇을합니까? 저는 주로 Linux 플랫폼에 관심이 있습니다.
143 c++  c  linux  pthreads 

3
mingw-w64 스레드 : posix 대 win32
Windows에 mingw-w64를 설치하고 있으며 win32 스레드와 posix 스레드의 두 가지 옵션이 있습니다. 나는 win32 스레드와 pthread의 차이점을 알고 있지만이 두 옵션의 차이점을 이해하지 못합니다. posix 스레드를 선택하면 CreateThread와 같은 WinAPI 함수를 호출하지 못할 것입니다. 이 옵션은 일부 프로그램이나 라이브러리에서 사용할 스레딩 API를 지정하는 것 같습니다. GCC, libstdc ++ 또는 다른 …
128 windows  gcc  pthreads  mingw 


8
pthread_create ()에 의해 호출되는 함수에 대한 여러 인수?
별도의 스레드에서 호출하려는 함수에 여러 인수를 전달해야합니다. 나는 한 읽기 이 작업을 수행하는 일반적인 방법은, 구조체를 정의하는하는 기능을 포인터를 전달하고 인수를 역 참조하는 것입니다. 그러나이 작업을 수행 할 수 없습니다. #include <stdio.h> #include <pthread.h> struct arg_struct { int arg1; int arg2; }; void *print_the_arguments(void *arguments) { struct arg_struct *args = …
93 c  pthreads 

4
재진입 잠금 및 개념은 일반적으로 무엇입니까?
나는 항상 헷갈 린다. 누군가 재진입이 무엇인지 설명 할까요 이 다른 맥락에서 의미 있습니까? 재진입과 재진입이 아닌 이유는 무엇입니까? pthread (posix) 잠금 프리미티브라고 말하면 재진입입니까? 그것들을 사용할 때 어떤 함정을 피해야합니까? 뮤텍스가 재진입 할 ​​수 있습니까?

4
PTHREAD_MUTEX_INITIALIZER 대 pthread_mutex_init (& mutex, param)
차이점이 있습니까? pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; 또는 pthread_mutex_t lock; pthread_mutex_init ( &lock, NULL); 첫 번째 방법 만 사용하면 충분히 안전합니까? 참고 : 내 질문은 대부분 내가 할 일이 여러 클라이언트를 서버에 연결하고 작업자 스레드로 문의를 해결하는 매우 작은 프로그램에 관한 것입니다.
90 c  ubuntu  pthreads  mutex 


9
클래스의 pthread 함수
다음과 같은 수업이 있다고 가정 해 봅시다. class c { // ... void *print(void *){ cout << "Hello"; } } 그리고 저는 c의 벡터를 가지고 있습니다. vector<c> classes; pthread_t t1; classes.push_back(c()); classes.push_back(c()); 이제 스레드를 만들고 싶습니다. c.print(); 그리고 다음은 나에게 아래 문제를 제공합니다. pthread_create(&t1, NULL, &c[0].print, NULL); 오류 출력 : …
86 c++  pthreads 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.