스레드를 사용하여 재귀 적으로 데이터 전달

Olivier

스레딩을 사용하여 값을 재귀 적으로 전달하려고합니다.

내 예에서는 스레드를 만들고 일부 데이터를 전달하고이 스레드는 또 다른 스레드를 재귀 적으로 생성하여 일부 데이터를 전달합니다.

출력은 다음과 같습니다.

Thread 1: value = 8
Thread 2: value = 12318230

값 4를 할당했지만 두 번째 스레드에 대해 값 4를 얻지 못하는 이유는 무엇입니까?

내 이해에서 (내가 틀렸다면 수정하십시오) 각 스레드에는 자체 스택이 있습니다. 값 4를 Thread 2 (첫 번째 스레드가 만든 스레드)에 전달하면 스레드가 끝날 때까지 변수가 메모리에 있습니다. pthread_join에 대한 호출이 있으므로 다시 시작할 때까지 자식 스레드가 끝날 때까지 기다립니다. Thread 2의 값이 왜 난수인지 확실하지 않습니다.

int count = 0

typedef struct
{
  int value;
} ThreadInfo;

void* ChildWork(void* a) {

  pthread_t threadid;

  count++;
  if(count > 2)
  pthread_exit(0);

  ThreadInfo* info = (ThreadInfo*)a; 
  printf("value = %d\n", info->value);

  ThreadInfo* child = new ThreadInfo; 
  child->value = 4;
  pthread_create(&threadid, NULL, ChildWork, (void*)&child);
  pthread_join(threadid, NULL);

  pthread_exit(0);
}

int main(int argc, const char *argv[])
{
  pthread_t threadid;
  ThreadInfo info;
  info.value = 8;

  pthread_create(&threadid, NULL, ChildWork, (void*)&info);
  pthread_join(threadid, NULL);

  return 0;
}
user253751
ThreadInfo* child = new ThreadInfo; 
child->value = 4;
pthread_create(&threadid, NULL, ChildWork, (void*)&child);

& child는 a ThreadInfo**이지만 자식 스레드 는 a로 캐스팅하고 ThreadInfo*쓰레기를 읽습니다. 변경 (void*)&child단지에 child.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

페치를 사용하여 페이지가 매겨진 데이터를 재귀 적으로로드

분류에서Dev

찾기를 사용하여 재귀 적으로 폴더 이동

분류에서Dev

wget을 사용하여 패턴으로 일부 데이터를 재귀 적으로 가져 오는 방법

분류에서Dev

스크래피를 사용하여 재귀 적으로 사이트 크롤링

분류에서Dev

재귀없이 문자열을 재귀 적으로 전달

분류에서Dev

JNI를 사용하여 GPB 직렬화 된 데이터를 Java에서 C ++로 효율적으로 전달

분류에서Dev

파이썬 함수는 이름을 저장하는 사전을 사용하여 서로를 재귀 적으로 호출합니다.

분류에서Dev

AppDelegate를 사용하여 앞뒤로 데이터 전달

분류에서Dev

DownloadManager를 사용하여 Activity에서 BroadcastReceiver로 데이터 전달

분류에서Dev

ViewPager를 사용하여 Activity에서 Fragments로 데이터 전달

분류에서Dev

UITableView에서 UIViewController로 segue를 사용하여 데이터 전달

분류에서Dev

프레임이있는 웹 사이트를 재귀 적으로 다운로드

분류에서Dev

이 함수를 재귀 적으로 적용하는 방법

분류에서Dev

재귀 함수를 사용하여 파이썬으로 합산

분류에서Dev

프라 미스를 사용하여 페이지가 매겨진 데이터를 재귀 적으로 가져 오려면 어떻게해야합니까?

분류에서Dev

스크래피를 사용하여 재귀 적으로 웹 사이트 스크랩

분류에서Dev

PHP를 사용하여 MySQL 데이터베이스로 이중 전달 행

분류에서Dev

MVC를 사용하여 Viewmodel 속성으로 Morris Chart 데이터 전달

분류에서Dev

기본 양식으로 생성자를 사용하여 데이터 전달

분류에서Dev

django-celery를 사용하여 DB를 재귀 적으로 업데이트해야합니까?

분류에서Dev

pyglet.app.run ()이 on_resize ()를 반복적으로 전달하여 최대 재귀 깊이 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

serialize-serialize ()를 사용하여 값을 데이터베이스로 전달

분류에서Dev

Windows에서 메타 데이터 및 디렉토리 구조를 유지하면서 FFmpeg를 사용하여 FLAC를 MP3로 재귀 적으로 변환

분류에서Dev

Kotlin에서 재귀 적으로 데이터 클래스 빌드

분류에서Dev

Python을 사용하여 페이지를 재귀 적으로 스크랩 (스크랩)

분류에서Dev

문자열로 전달 된 조건을 사용하여 데이터 프레임 부분 집합 (동적으로 부분 집합 데이터 프레임)

분류에서Dev

Pandas를 사용하여 적용에서 데이터 프레임을 인수로 전달

분류에서Dev

pandas-python을 사용하여 데이터 프레임 열을 재귀 적으로 구성하는 방법은 무엇입니까?

분류에서Dev

HTML 양식을 사용하여 데이터를 Javascript 코드로 전달

Related 관련 기사

  1. 1

    페치를 사용하여 페이지가 매겨진 데이터를 재귀 적으로로드

  2. 2

    찾기를 사용하여 재귀 적으로 폴더 이동

  3. 3

    wget을 사용하여 패턴으로 일부 데이터를 재귀 적으로 가져 오는 방법

  4. 4

    스크래피를 사용하여 재귀 적으로 사이트 크롤링

  5. 5

    재귀없이 문자열을 재귀 적으로 전달

  6. 6

    JNI를 사용하여 GPB 직렬화 된 데이터를 Java에서 C ++로 효율적으로 전달

  7. 7

    파이썬 함수는 이름을 저장하는 사전을 사용하여 서로를 재귀 적으로 호출합니다.

  8. 8

    AppDelegate를 사용하여 앞뒤로 데이터 전달

  9. 9

    DownloadManager를 사용하여 Activity에서 BroadcastReceiver로 데이터 전달

  10. 10

    ViewPager를 사용하여 Activity에서 Fragments로 데이터 전달

  11. 11

    UITableView에서 UIViewController로 segue를 사용하여 데이터 전달

  12. 12

    프레임이있는 웹 사이트를 재귀 적으로 다운로드

  13. 13

    이 함수를 재귀 적으로 적용하는 방법

  14. 14

    재귀 함수를 사용하여 파이썬으로 합산

  15. 15

    프라 미스를 사용하여 페이지가 매겨진 데이터를 재귀 적으로 가져 오려면 어떻게해야합니까?

  16. 16

    스크래피를 사용하여 재귀 적으로 웹 사이트 스크랩

  17. 17

    PHP를 사용하여 MySQL 데이터베이스로 이중 전달 행

  18. 18

    MVC를 사용하여 Viewmodel 속성으로 Morris Chart 데이터 전달

  19. 19

    기본 양식으로 생성자를 사용하여 데이터 전달

  20. 20

    django-celery를 사용하여 DB를 재귀 적으로 업데이트해야합니까?

  21. 21

    pyglet.app.run ()이 on_resize ()를 반복적으로 전달하여 최대 재귀 깊이 오류가 발생하는 이유는 무엇입니까?

  22. 22

    serialize-serialize ()를 사용하여 값을 데이터베이스로 전달

  23. 23

    Windows에서 메타 데이터 및 디렉토리 구조를 유지하면서 FFmpeg를 사용하여 FLAC를 MP3로 재귀 적으로 변환

  24. 24

    Kotlin에서 재귀 적으로 데이터 클래스 빌드

  25. 25

    Python을 사용하여 페이지를 재귀 적으로 스크랩 (스크랩)

  26. 26

    문자열로 전달 된 조건을 사용하여 데이터 프레임 부분 집합 (동적으로 부분 집합 데이터 프레임)

  27. 27

    Pandas를 사용하여 적용에서 데이터 프레임을 인수로 전달

  28. 28

    pandas-python을 사용하여 데이터 프레임 열을 재귀 적으로 구성하는 방법은 무엇입니까?

  29. 29

    HTML 양식을 사용하여 데이터를 Javascript 코드로 전달

뜨겁다태그

보관