c 멀티 스레드 예제

pthread 라이브러리를 사용하는 더 많은 예제는 여기에서 찾을 수 있습니다. 멀티스레딩이 왜 해야 합니까? 스레드는 병렬 처리를 통해 응용 프로그램을 개선하는 데 널리 사용됩니다. 예를 들어 브라우저에서 여러 탭은 서로 다른 스레드일 수 있습니다. MS 워드는 여러 스레드, 하나의 스레드를 사용하여 텍스트의 서식을 지정하고 다른 스레드를 사용하여 입력을 처리합니다. 스레드는 다음과 같은 이유로 인해 프로세스보다 빠르게 작동합니다: 1) 스레드 생성이 훨씬 빠릅니다. 2) 스레드 간의 컨텍스트 전환이 훨씬 빠릅니다. 3) 스레드는 쉽게 종료 할 수 있습니다 4) 스레드 간의 통신이 빠릅니다. 위의 간단한 예는 스레드의 작동 방식을 보여 주는 간단한 예제입니다. 스레드에서 전역 변수에 액세스하는 것은 일반적으로 좋지 않습니다. 스레드 2가 스레드 1보다 우선 순위가 있고 스레드 1이 변수를 변경해야 하는 경우 는 무엇입니까? 실제로 여러 스레드에서 전역 변수에 액세스해야 하는 경우 뮤텍스를 사용하여 액세스해야 합니다.

위에서 언급했듯이 전역 및 정적 변수가 있는 여러 스레드를 표시하는 C 프로그램은 모든 스레드가 데이터 세그먼트를 공유합니다. 전역 및 정적 변수는 데이터 세그먼트에 저장됩니다. 따라서 모든 스레드에서 공유 됩니다. 다음 예제 프로그램은 동일한 것을 보여 줍니다. 이 장에서는 이론, 구문 및 예제가 있는 GCC Linux의 C 언어 스레딩에 대해 알아봅니다. 한 대상에서 동시에 여러 작업을 수행하는 것은 매우 위험하며 데이터베이스에 대한 가장 좋은 예입니다. 세 스레드가 동시에 단일 파일을 작성하려는 경우 하드 드라이브가 CPU만큼 빠르게 진행될 수 없기 때문에 문제가 될 수 있습니다. 이 경우 파일을 손상시킬 수있는 작업으로 하드 드라이브에 과부하가 걸리지 않도록 다른 스레드를 잠가야합니다.

뮤텍스는 다른 스레드를 잠그는 데 사용할 수 있습니다. 호기심에 대 한, 로렌스 리버 모어 국립 연구소는 더 많은 배경및 pthreads에서 사용할 수 있는 다양 한 기능을 사용할 수 있습니다 이유의 예제와 함께이 문서: computing.llnl.gov/tutorials/pthre… 스레드를 올바르게 사용하는 방법을 아는 것은 모든 컴퓨터 과학 및 엔지니어링 학생 레퍼토리의 일부가 되어야 합니다. 이 자습서는 POSIX(이식 가능한 운영 체제 인터페이스) 스레드 또는 pthreads를 사용하여 다중 스레드 프로그래밍에 익숙해지도록 돕기 위한 시도입니다. 이 자습서에서는 pthread 라이브러리에서 정의한 다양한 도구를 설명하고, 이를 사용하는 방법을 보여 주며, 실제 프로그래밍 문제를 해결하기 위해 이러한 도구를 사용하는 예제를 제공합니다. pthread 기본 함수의 사용을 보여 주는 간단한 C 프로그램은 아래 프로그램은 pthread 라이브러리가 있는 C 컴파일러로만 컴파일할 수 있습니다. 나는 내 대답을 가지고, threads.h는 POSIX (stackoverflow.com/a/9377007) 우선, 우리는 위에서 말했듯이, 우리는 pthread.h 라이브러리를 포함, 그것은 멀티 스레딩 작업을 수행하는 데 필요한 모든 기능을 포함하지 않는 경우에도 사용하는 것이 좋습니다.

Ce contenu a été publié dans Non classé. Vous pouvez le mettre en favoris avec ce permalien.

Les commentaires sont fermés.