«multithreading» 태그된 질문

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

7
더 이상 사용하지 않아야하는 멀티 스레드 및 멀티 프로세서 프로그래밍에 대한 더 이상 사용되지 않는 방법이 있습니까?
FORTRAN 및 BASIC의 초기에는 기본적으로 모든 프로그램이 GOTO 문으로 작성되었습니다. 결과는 스파게티 코드 였고 솔루션은 구조화 된 프로그래밍이었습니다. 마찬가지로 포인터는 프로그램의 특성을 제어하기 어려울 수 있습니다. C ++은 많은 포인터로 시작했지만 참조를 사용하는 것이 좋습니다. STL과 같은 라이브러리는 일부 종속성을 줄일 수 있습니다. 더 나은 특성을 가진 스마트 포인터를 만드는 …


3
왜 녹색 스레드?
나는 이것에 대한 질문이 이미 다루어 져 있음을 알고 있지만 (예 : https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ) 만족스러운 답변을 얻지 못한 것 같습니다. . 문제는 JVM이 더 이상 녹색 스레드를 지원하지 않는 이유 입니다. 그것은에서이 작업을 말한다 코드 스타일 자바 자주 묻는 질문 : 녹색 스레드는 모든 코드가 단일 운영 체제 스레드에서 실행되는 …

6
동시성 및 멀티 스레딩을 어떻게 연습 하시겠습니까? [닫은]
동시성, 멀티 스레딩 및 "무료 점심은 어떻게 끝났 는지 " 에 대해 읽었습니다 . 그러나 아직 직장에서 MT를 사용할 가능성이 없었습니다. 따라서 일부 오픈 소스 프로젝트에 대한 연습이나 참여를 통해 CPU Heavy MT를 실습하기 위해 무엇을 할 수 있는지에 대한 제안을 찾고 있습니다. 감사. 편집 : CPU 바운드 작업에 MT를 …

3
스레드 지원없이 Windows에서 GCC가 종료됩니까? [닫은]
의견이 필요합니다. GCC는 항상 훌륭한 컴파일러 였지만 최근에는 "호소력"을 잃고 있습니다. 방금 Windows GCC에서 std::thread지원 이 없다는 것을 알았 습니다. 가장 흥미로운 기능이 여전히 없기 때문에 Windows 사용자가 다른 컴파일러를 사용하도록 강요했습니다. 그러나 왜 실제로 GCC가 여전히 Windows에서 스레드를 지원하지 않습니까? 라이센스 문제? ABI 비 호환성? (부스트, POCO, SDL, wxwidgets …

8
언제“수만”의 스레드가 필요할까요?
Erlang, Go 및 Rust는 모두 저렴한 "스레드"/ 코 루틴으로 동시 프로그래밍을 지원한다고 주장합니다. 이동 자주 묻는 질문 상태 : 동일한 주소 공간에 수십만 개의 고 루틴을 만드는 것이 실용적입니다. 녹 자습서는 말합니다 : 작업은 기존 스레드보다 훨씬 저렴하기 때문에 Rust는 일반적인 32 비트 시스템에서 수십만 개의 동시 작업을 만들 수 …

2
가짜 웨이크 업 설명은 수정 할 가치가없는 버그처럼 들립니다. 맞습니까?
Spurious Wakeups 에 관한 Wikipedia 기사에 따르면 "스레드가 조건 변수를 신호하지 않더라도 스레드는 대기 상태에서 해제 될 수 있습니다." 이 '기능'에 대해 알고 있었지만 같은 기사에서 실제로 그 원인을 알 수 없었습니다. "의심스러운 깨우기는 이상하게 들릴지 모르지만 일부 다중 프로세서 시스템에서는 조건 깨우기를 완전히 예측할 수있게하면 모든 조건 변수 작업이 …

11
멀티 스레드 버그에 시달리고
내가 관리하는 새 팀에서 대부분의 코드는 플랫폼, TCP 소켓 및 http 네트워킹 코드입니다. 모든 C ++. 대부분은 팀을 떠난 다른 개발자들로부터 비롯되었습니다. 팀의 현재 개발자는 매우 영리하지만 경험면에서는 대부분 주니어입니다. 가장 큰 문제는 멀티 스레드 동시성 버그입니다. 대부분의 클래스 라이브러리는 일부 스레드 풀 클래스를 사용하여 비동기식으로 작성되었습니다. 클래스 라이브러리의 메소드는 …

3
다중 스레드 응용 프로그램의 UML 다이어그램
단일 스레드 응용 프로그램의 경우 클래스 다이어그램을 사용하여 해당 응용 프로그램의 아키텍처 개요를 얻고 싶습니다. 그러나이 유형의 다이어그램은 예를 들어 다른 스레드에서 "라이브"클래스의 다른 인스턴스 (인스턴스 액세스가 하나의 인스턴스에서만 저장 됨)로 인해 다중 스레드 / 동시 응용 프로그램을 이해하려고 할 때 크게 도움이되지 않았습니다. 그것이 사는 스레드). 따라서 클래스 간의 …

7
교착 상태를 디버깅 할 때 무엇을 찾으십니까?
최근에는 스레딩을 많이 사용하는 프로젝트를 연구하고 있습니다. 나는 그것들을 디자인하는 것이 좋다고 생각한다. 가능한 한 상태 비 저장 디자인을 사용하고 둘 이상의 스레드가 필요로하는 모든 리소스에 대한 액세스를 잠급니다. 그러나 다른 사람들의 스레드 코드를 읽을 때 혼란스러워합니다. 현재 교착 상태를 디버깅하고 있으며 코딩 스타일과 디자인이 개인 스타일과 다르기 때문에 잠재적 …

4
잠금에서 경쟁 조건을 방지하는 것은 무엇입니까?
데이터 레이스의 기본 사항과 잠금 / 뮤텍스 / 세마포어가 어떻게 데이터 레이스를 방지하는 데 도움이되는지 이해합니다. 그러나 잠금 장치 자체에 "경쟁 상태"가있는 경우 어떻게됩니까? 예를 들어, 동일한 응용 프로그램에 있지만 다른 프로세서에서 실행중인 두 개의 다른 스레드 는 정확히 동시에 잠금을 획득하려고합니다 . 그러면 어떻게됩니까? 이를 방지하기 위해 무엇을해야합니까? 불가능한가, …

10
상태 머신 대 스레드
Alan Cox 는 "컴퓨터는 상태 머신입니다. 스레드는 상태 머신을 프로그래밍 할 수없는 사람들을위한 것"이라고 말했습니다. Alan에게 직접 물어 보는 것은 겸손한 선택이 아니기 때문에 여기서 묻고 싶습니다. 하나의 스레드와 상태 머신 만 사용하여 Java와 같은 고급 언어의 멀티 스레딩 기능을 어떻게 구현할 수 있습니까? 예를 들어, 수행해야 할 두 가지 …

6
멀티 스레딩 : 내가 잘못하고 있습니까?
음악을 재생하는 응용 프로그램을 만들고 있습니다. 재생 중에는 종종 스레드가 동시에 발생해야하기 때문에 별도의 스레드에서 발생해야합니다. 호출이 :. 예를 들어, 각자가 연주하는 자신의 스레드를 할당하도록 코드가 필요의 노트 (편집 명확히하기 위해 함께들을 수 note.play()메모가 완료 재생 될 때까지 스레드를 정지, 나는 세 가지 필요한 이유입니다 세 개의 음이 동시에 들리도록 …

3
성능 향상을 위해 멀티 스레딩이 선호되는 이유는 무엇입니까?
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Stack Overflow에서 마이그레이션 되었습니다. 6 년 전에 이주했습니다 . 질문이 있는데, 프로그래머가 왜 동시성과 멀티 스레드 프로그램을 좋아하는 것 같습니다. 나는 여기에 두 가지 주요 접근법을 고려하고 있습니다 : 기본적으로 신호를 기반으로하는 비동기 방식 또는 새로운 C # 5.0과 …

9
멀티 스레딩 동기화 인터뷰 질문 : m 개의 스레드에서 n 개의 단어 찾기
이 문제가 단일 스레드가 아닌 여러 스레드가있는 솔루션에서 이점을 얻을 수있는 방법이 있습니까? 인터뷰에서 여러 스레드를 사용하여 문제를 해결하라는 요청을 받았습니다. 여러 스레드가 도움이되지 않는 것으로 보입니다. 문제는 다음과 같습니다. n 개의 단어를 포함하는 단락이 주어지며 m 개의 스레드가 제공됩니다. 당신이해야 할 일은 각 스레드가 한 단어를 인쇄하고 다음 스레드에 …

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