«multithreading» 태그된 질문

기술, 구조 및 안전 문제를 포함한 멀티 스레딩 관련 질문

1
스레드 상호 작용 그리기
UML (like) 표기법으로 스레드 상호 작용을 그리고 싶습니다 (펜 및 연필). 나는 UML을 고집하지 않는다. 독자에게는 분명한 일이다. 시퀀스 다이어그램으로 시작했지만 이것이 최선의 방법이라고 생각하지 않습니다. 항상 화면 밖에서 나오는 "액션 이니시에이터"가있어 SSD 아이디어를 깨뜨릴 수 있습니다. 나는 각각 상태 머신을 소유하는 약 9-10 개의 스레드로 중간 크기의 코드베이스를 상속 …

8
멀티 스레딩이 잘못되어 거의 / 실제로 실패한 프로젝트에서 어떤 교훈을 얻었습니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 멀티 스레딩이 잘못되어 거의 / 실제로 실패한 프로젝트에서 어떤 교훈을 얻었습니까? 때로는 프레임 워크에 특정 스레딩 모델이 적용되어 …

2
스레드를 몇 개나 사용할 수 있습니까?
데스크탑 / 노트북 컴퓨터에서 큰 시스템을 재 구축 할 때 make다음과 같이 하나 이상의 스레드를 사용하여 컴파일 속도를 높이라고합니다. $ make -j$[ $K * $C ] 경우 $C의 수를 표시하도록되어 코어 동안 기계가있다 (우리는 하나의 숫자와 숫자로 가정 할 수있다) $K나는 다를 무언가 2에 4, 내 기분에 따라 달라집니다. 예를 …


2
프로그래머가 병렬 처리를 위해 C / POSIX를 대체하기 위해 프로그래밍 모델을 정의하는 이유는 무엇입니까?
새로운 컴퓨터 아키텍처 제공 업체는 정기적으로 새로운 프로그래밍 모델 (예 : 최근 GPGPU 용 CUDA / OpenCL)을 도입하려고 시도하고 플랫폼 병렬 처리의 제어 인터페이스로 C / POSIX를 대체합니다. (Poss & Koening, AM3 : 2015 년 많은 코어를위한 하드웨어 유닉스 가속기로) 아키텍처 설계자가 병렬 컴퓨팅을위한 C / POSIX를 대체하기 위해 새로운 …

1
마이크로 컨트롤러 용 RTOS 용 Message Queue
현재 마이크로 컨트롤러 용 RTOS를 작성하고 있습니다. 모든 것이 C ++ 11로 작성되었습니다-누군가 관심이 있고 저장소에 대한 링크가 맨 아래에 있습니다. 현재 스레드 간 (또는 인터럽트 처리기와 스레드 또는 인터럽트 처리기와 다른 인터럽트 처리기 사이에) 객체를 전달하기위한 간단한 데이터 큐 인 클래스를 작성하고 있습니다. 보통 나는 다른 프로젝트에서 발견 된 …


1
개념적으로 각 스레드가 자체 스택을 얻는다는 것은 무엇을 의미합니까?
Brian Goetz 가 실제로 Java Concurrency를 읽고 Stack Confinement 섹션 에서 각 스레드가 자체 스택을 가져 와서 로컬 변수가 본질적으로 실행중인 스레드에 국한되어 있다고 언급합니다. 그것들은 실행중인 스레드 스택에 존재하며 다른 스레드는 액세스 할 수 없습니다. 각 스레드마다 자체 실행 스택이 있다는 것은 무엇을 의미합니까?

3
분산 잠금 패턴 찾기
C #의 분산 시스템에 대한 사용자 지정 재귀 적 객체 잠금 메커니즘 \ 패턴을 만들어야합니다. 본질적으로 다중 노드 시스템이 있습니다. 각 노드에는 n 개의 상태 조각에 대해 독점적 인 쓰기 권한이 있습니다. 하나 이상의 다른 노드 에서 동일한 상태를 읽기 전용 형식으로 사용할 수도 있습니다 . 일부 쓰기 / 업데이트는 …

6
잠금을 사용하면 알고리즘에 여전히 잠금이 해제 될 수 있습니까?
잠금 해제의 일반적인 정의는 하나 이상의 프로세스가 진행된다는 것입니다. 1 잠금으로 보호되는 큐와 같은 간단한 데이터 구조가있는 경우 한 프로세스가 잠금을 획득하고 원하는 작업을 수행하고 해제 할 수 있으므로 한 프로세스가 항상 진행될 수 있습니다. 그래서 그것은 잠금없는 정의를 충족합니까? 1 예를 들어 M. Herlihy, V. Luchangco 및 M. Moir를 …

6
스레드가 가상 메모리 또는 실제 메모리를 사용합니까?
프로세스 당 10,000 개의 스레드를 처리하도록 Linux 서버를 최적화하려고했지만 지금은 382 개입니다. 에 따라 이 문서의 다음과 같은 공식은 총 가능한 스레드를 확인하는 데 사용됩니다 number of threads = total virtual memory / (stack size*1024*1024) 이는 스레드가 모든 데이터를 가상 메모리에 저장함을 의미합니다. 그리고 내가 아는 한, 가상 메모리는 RAM …

6
스레드가 스레드라고하는 이유는 무엇입니까?
프로세스가 리소스 소유권 단위와 실행 가능한 명령이라는 것을 이해합니다. 스레드는 프로세스가 여러 실행과 리소스를 공유 할 수 있도록하며, 전체 프로세스와 관련된 모든 오버 헤드로 인해 OS가 스레드를 쉽게 예약 할 수 있습니다. 그러나 왜 이름 스레드 입니까? 문자열 또는 실행 인터리브에 대한 참조가 있습니까? 그럼에도 불구하고 이것은 내 의견으로는 직관적 …

1
많은 차단 VS 단일 비 차단 근로자
이 연결을 받아들이는 HTTP 서버 인 후는 한 가정 어떻게 든 헤더가 완전히 전송 될 때까지 기다립니다. 나는 그것을 구현하는 가장 일반적인 방법이 무엇인지 궁금하고 나머지의 장점과 단점은 무엇인가. 나는 이것들 만 생각할 수 있습니다. 다음과 같은 이유로 많은 차단 작업자가 좋습니다. 더 반응이 좋습니다. 새로운 연결을보다 쉽게 ​​도입 할 …

3
멀티 코어 프로세서를위한 Linux의 잠금없는 IPC
Linux의 C에서 잠금없는 IPC로 멀티 코어 프로세서로 응용 프로그램을 작성하는 방법을 찾으려고합니다. FIFO 또는 공유 메모리에 쓰는 프로세스 1과 프로세스 2가 있다고 가정합니다. 그런 다음 프로세스 3과 프로세스 4는 해당 공유 메모리 또는 FIFO에서 읽습니다. 잠금없는 알고리즘으로 가능합니까? 귀하의지도에 감사드립니다.

1
스레드 : 커널 스레드 vs. 커널 지원 스레드 vs. 사용자 레벨 스레드?
아무도 이것의 차이점이 무엇인지 알고 있습니까? 커널 스레드가 (직관적으로) 커널을 실행하는 코드에 해당하는 것 같지만 다른 두 가지에 대해서는 확실하지 않습니다 ... 또한 커널이 모든 스레드 스케줄링 / 스위칭을 수행하는 동안 라이브러리에 액세스하기 때문에 pthreads 표준이 사용자 수준 및 커널 지원으로 간주됩니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.