«multithreading» 태그된 질문

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

3
왜 파이썬이 GIL로 작성 되었습니까?
GIL (Global Interpreter Lock)은 파이썬에서 스레딩 (threading) 등이 터치하기 까다로운 주요 이유로 자주 인용되는 것 같습니다. "처음에 왜 그랬습니까?"라는 질문이 제기됩니다. 프로그래머가 아니기 때문에 그 이유가 무엇인지 전혀 알지 못합니다. GIL을 도입 한 논리는 무엇입니까?


4
스레드 풀이 란 무엇입니까?
스레드 풀을 어떻게 구현할까요? "스레드 풀"에 대한 위키 백과를 읽었지만 여전히이 질문을 해결하기 위해 어떻게해야하는지 파악할 수 없습니다 (스레드 풀이 간단한 용어로 무엇인지 이해하지 못했을 수도 있습니다). 누군가 스레드 풀이 무엇인지 일반 영어로 설명 할 수 있습니까?이 질문에 어떻게 대답 할 수 있습니까?

3
단일 스레드는 여러 코어에서 어떻게 실행됩니까?
높은 수준에서 단일 스레드가 여러 코어에서 어떻게 실행되는지 이해하려고합니다. 아래는 나의 최선의 이해입니다. 나는 그것이 옳다고 생각하지 않습니다. 내가 읽은 하이퍼 스레딩 에 따르면 OS는 모든 스레드의 명령을 서로 기다리지 않는 방식으로 구성합니다. 그런 다음 CPU의 프론트 엔드는 하나의 스레드를 각 코어에 분배하여 해당 명령어를 추가로 구성하고 열린주기 중 각 …

15
현재 소프트웨어 산업에서 멀티 스레딩이 얼마나 중요합니까? [닫은]
필자는 3 년 가까이 MVC 프레임 워크 (예 : 스트럿)를 사용하여 Java로 웹 응용 프로그램을 작성한 경험이 있습니다. 주요 소매 체인 용 코드를 작성했지만 지금까지 멀티 스레드 코드를 작성한 적이 없습니다. 인터뷰 중에 멀티 스레딩에 대한 몇 가지 질문을 받았으며 일반적으로 그 질문에 대답합니다 (대부분 간단한 질문). 현재 업계 시나리오에서 …

1
섬유, 코 루틴 및 녹색 실 사이에 차이가 있습니까? 그렇다면 무엇입니까?
오늘 저는 인터넷에서 섬유, 코 루틴 및 녹색 실에 대한 여러 기사를 읽었습니다.이 개념은 공통점이 많지만 특히 섬유 및 코 루틴에 대해 이야기 할 때 약간의 차이가 있습니다. 서로 다른 점에 대한 간결하고 정확한 요약이 있습니까? 업데이트 : Distinguishing coroutines and fiber (N4024 C ++ draft) 문서가 섬유와 코 루틴을 …

12
프로그램에 특정 최소 개수의 CPU 코어가 필요한 이유는 무엇입니까?
코어 수가 N 개 미만인 CPU에서 실행될 때 제대로 작동하지 않는 코드 (또는 코드가 아닌 완전한 소프트웨어)를 작성할 수 있습니까? 명시 적으로 확인 하지 않고 의도적으로 실패하지 않은 경우 : IF (noOfCores <4) 그런 다음 의도적으로 제대로 실행되지 않습니다 게임의 ( Dragon Age : Inquisition ) 최소 시스템 요구 사항을보고 …

6
멀티 스레드 경쟁 조건 테스트
이 답변에 대한 의견을 읽으십시오 . 테스트를 작성할 수 없다고해서 테스트가 중단되지 않았다는 의미는 아닙니다. 일반적으로 예상대로 작동하는 정의되지 않은 동작 (C 및 C ++에는이 기능이 가득 함), 경쟁 조건, 메모리 모델이 약하여 잠재적 인 순서 변경 ... – CodeInChaos 7 시간 전 @CodesInChaos 만약 그것이 재현 될 수 없다면 …

16
발생 가능성이 거의없는 경쟁 조건을 처리해야합니까?
메인 스레드가 거의 즉각적으로 UI를 업데이트하고 다른 스레드가 네트워크를 통해 데이터를 폴링하거나 작업을 완료하는 데 5-10 초가 걸리는 GUI 응용 프로그램과 같은 것을 고려해 봅시다. 나는 이것에 대해 많은 다른 대답을 받았지만 어떤 사람들은 그것이 통계 불가능의 경쟁 조건이라면 전혀 걱정하지 말고 다른 사람들은 10-53 % 조차도 있다고 말합니다. 경쟁 …

8
멀티 스레드 JavaScript 런타임 구현의 단점은 무엇입니까? [닫은]
지난 주 동안 멀티 스레드 JavaScript 런타임 구현을 작업했습니다. JavaScriptCore 및 boost를 사용하여 C ++로 만든 개념 증명이 있습니다. 아키텍처는 간단합니다. 런타임에서 기본 스크립트 평가가 완료되면 스레드 풀이 시작되고 스레드 우선 순위에 참여하여 공유 우선 순위 큐에서 태스크 선택을 시작합니다. 두 태스크가 동시에 변수에 액세스하려고하면 원자로 표시되고 액세스를 위해 경쟁합니다. …

19
대규모 사이트에서 백그라운드 작업 서비스
우리는 StackOverflow에서 흥미로운 문제를 다루고 있습니다. 우리는 "조만간해야 할"작은 일들이 많이 있습니다. 예를 들어 "관련 질문"목록을 업데이트하고 있습니다. 과거에 우리가 한 일은 이러한 작업을 일부 사용자의 페이지로드로 피기 백하는 것입니다. 이것은 이상적이지 않았지만 실제로 눈에 띄지는 않았습니다. SO가 1,000,000 개의 물음표를 통과 했으므로, 운이 좋지 않은 사용자는 그것을 느끼기 시작했습니다. …

1
go-langs goroutine pool은 단지 녹색 스레드입니까?
해설자는 여기에 녹색 스레드의 다음과 같은 비판을 제공합니다 : 콜백 지옥없이 이벤트 중심 프로그래밍을하는 수단으로 N : M 모델에서 처음 판매되었습니다. 오래된 절차 적 코드처럼 보이는 코드를 작성할 수 있지만 그 아래에는 무언가 차단 될 때마다 사용자 공간 작업 전환을 사용하는 마술이 있습니다. 잘 들린다. 문제는 더 복잡한 복잡성을 해결한다는 …

10
왜 코드에서 100 % CPU를 사용하지 않아야합니까? [닫은]
Windows XP 이상에서 실행되는 C # .NET 4 프로그램에 대해 구체적으로 말하고 있지만 일반적인 대답도 허용됩니다. 이미 최적화되고 효율적인 프로그램을 가정하십시오. 여기서 문제는 전적으로 CPU 사용률이 하드웨어에 미치는 영향과 내 구현의 효율성이 아니라 마모를 줄이기 위해 사용량이 많은 프로그램을 조절해야하는지 여부입니다. 동료는 오늘 "현대 CPU가 싸고 100 % CPU에서 빠르게 …
42 c#  multithreading  cpu  usage 

5
불변성이 다중 프로세서 프로그래밍에서 잠금의 필요성을 완전히 제거합니까?
1 부 분명히 불변성 은 다중 프로세서 프로그래밍에서 잠금의 필요성을 최소화 하지만 불필요 함만으로는 불충분 한 경우가 있습니까? 대부분의 프로그램이 실제로 무언가를해야하기 (데이터 저장소 업데이트, 보고서 생성, 예외 발생 등)하기 전에 처리를 지연하고 상태를 캡슐화 할 수있는 것 같습니다. 이러한 조치를 항상 잠금없이 수행 할 수 있습니까? 원본을 변경하는 대신 …

4
GUI 프로그래밍에서 스레드 안전을 보장하는 것이 호출자의 책임 인 이유는 무엇입니까?
많은 곳에서 UI 구성 요소를 업데이트 할 때 (특히 Java Swing에서 Event Dispatch Thread에 있음 ) UI 스레드에 있는지 확인하는 것은 호출자의 책임이라는 것이 정식적인 지혜 1 임을 알았 습니다. . 왜 그렇습니까? 이벤트 디스패치 스레드는 MVC / MVP / MVVM 의 관점 에서 중요합니다 . 뷰를 어디에서나 처리하기 위해 …

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