«multithreading» 태그된 질문

멀티 스레딩은 여러 동시 실행 스트림 (일반적으로 스레드라고 함)을 활용하여 컴퓨터 또는 프로그램이 동시에 또는 비동기 적으로 작업을 수행 할 수있는 기능입니다.

2
함수 객체를 사용하는 C ++ 스레드, 여러 소멸자가 어떻게 호출되지만 생성자는 아닌가?
아래 코드 스 니펫을 찾으십시오. class tFunc{ int x; public: tFunc(){ cout<<"Constructed : "<<this<<endl; x = 1; } ~tFunc(){ cout<<"Destroyed : "<<this<<endl; } void operator()(){ x += 10; cout<<"Thread running at : "<<x<<endl; } int getX(){ return x; } }; int main() { tFunc t; thread t1(t); if(t1.joinable()) { cout<<"Thread …


2
Java ThreadPoolExecutor : 코어 풀 크기 업데이트는 들어오는 작업을 간헐적으로 거부합니다.
ThreadPoolExecutor풀을 만든 후의 코어 풀 크기를 다른 숫자 로 크기 조정하려고하면 간헐적으로 여러 작업을 RejectedExecutionException제출하지 않아도 일부 작업이 거부되는 문제가 발생 queueSize + maxPoolSize합니다. 내가 해결하려고하는 문제는 ThreadPoolExecutor스레드 풀의 대기열에 앉아 보류중인 실행을 기반으로 핵심 스레드의 크기를 조정하는 것입니다. 기본적으로 a ThreadPoolExecutor가 Thread대기열이 가득 찬 경우에만 새 항목을 작성 하기 …

4
cppreference에서 완화 된 순서에 대한 설명이 잘못 되었습니까?
cppreference.com 의 설명서std::memory_order 에는 완화 된 주문의 예가 ​​있습니다. 편안한 주문 태그 memory_order_relaxed가 지정된 원자 작업 은 동기화 작업이 아닙니다. 동시 메모리 액세스간에 순서를 부과하지 않습니다. 원 자성 및 수정 순서 일관성 만 보장합니다. 예를 들어 x와 y가 처음에 0 인 경우 // Thread 1: r1 = y.load(std::memory_order_relaxed); // A …

1
반응 네이티브는 멀티 스레딩 및 백그라운드 스레딩 또는 병렬 실행을 지원합니까? 우리는 어떻게 할 수 있습니까?
나는 react-native와 다른 매체 소스 및 블로그에 대한 공식 문서를 살펴 보았으며, react-native에 UI Thread 및 JavaScript Thread 가 있음을 알게 되었습니다. 자바 스크립트 스레드는 로직에서 자바 스크립트 코드가 실행되고 API 호출이 수행되고 터치 이벤트가 처리되는 등의 스레드가 실행되는 스레드입니다. 그리고 UI Thread는 UI를 업데이트합니다. JavaScript 스레드가 프로세스에서 작업 중이고 …

2
할당 된 작업 중 하나가 어떤 이유로 든 실패하면 Java 실행 프로그램 서비스 중지
몇 가지 작업을 동시에 1 분 간격으로 1 초 간격으로 실행하는 서비스가 필요합니다. 작업 중 하나가 실패하면 서비스와 서비스와 함께 실행 된 모든 작업에 문제가 있음을 나타내는 표시가 있습니다 .1 분 후에 모든 것이 잘되면 모든 것이 잘되었다는 표시와 함께 서비스가 중지됩니다. 예를 들어, 나는 두 가지 기능을 가지고 있습니다 …

3
"휘발성"은 멀티 코어 시스템을위한 휴대용 C 코드로 무엇인가를 보장합니까?
(A)에서보고 한 무리 의 다른 질문 과 그 답변 , 나는 인상 얻을 C에서 "휘발성"키워드가 정확히 무엇을 의미하는지에 대한 더 광범위한 합의가없는합니다. 표준 자체조차도 모든 사람이 그것이 의미 하는 바에 동의 할만큼 명확하지 않은 것 같습니다 . 다른 문제들 중 : 하드웨어와 컴파일러에 따라 다른 보증을 제공하는 것 같습니다. 컴파일러 …

1
C ++ 17 병렬`for_each`의 스레드 수를 제한 할 수 있습니까?
나는 사용한다 std::for_eachstd::execution::par 구조 벡터로 표현되는 거대한 입력에 대해 복잡한 계산을 수행 하는 데 합니다. 계산에는 하드웨어 (예 : 네트워크 또는 디스크 IO)와 관련된 지연이 필요하지 않으며 "단지 CPU"계산입니다. 저에게는 하드웨어 스레드가있는 OS 스레드를 더 만들지 않는 것이 합리적입니다. 그러나 Visual C ++ 2019는 평균 50 개의 스레드를 생성하며 12 …

2
WebView는 언제 snapshot ()을 준비합니까?
A가 있다는 자바 FX 문서 상태 WebView때 준비가 Worker.State.SUCCEEDED도달 한 동안 (즉, 대기하지 않는 한, 그러나 Animation, Transition, PauseTransition, 등), 빈 페이지가 렌더링됩니다. 이것은 WebView 내부에서 캡처 준비를하는 이벤트가 있음을 시사하지만, 무엇입니까? GitHubSwingFXUtils.fromFXImage 에는 7,000 개가 넘는 코드 스 니펫이 있지만 대부분은 관련이 없으며 WebView대화 형 (인간 마스크 경쟁 조건) …

1
시작 후 스폰 된 자식 프로세스 분리
다음과 같이 스폰 자식 프로세스를 시작합니다. let process = spawn(apiPath, { detached: true }) process.unref() process.stdout.on('data', data => { /* do something */ }) 프로세스를 시작할 때 출력을 읽고 싶기 때문에 연결 상태를 유지해야합니다. 그러나 Node 프로세스 (부모)를 닫기 직전에 백그라운드에서 계속 실행되도록 완료되지 않은 모든 자식 프로세스를 분리하려고하지만 설명서에 …

5
각 요청 항목에 대해 여러 스레드를 작성하는 방법
주문 수준에서 멀티 스레딩을 사용하여 아래 코드를 처리하려고합니다. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); 현재 순차 실행 : orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); 나는 다음을 사용하려고 시도했다. orders.parallelStream().forEach(order -> {}} // code snippet. 그러나 rules.forEach (rule-> {}} 순서 가 변경 됩니다. …

1
“강하게 전에 일어난다”는 무슨 뜻입니까?
C ++ 초안 표준에서는 "강하게 발생합니다"라는 문구가 여러 번 사용되었습니다. 예 : 종료 [basic.start.term] / 5 std :: atexit ([support.start.term] 참조)를 호출하기 전에 정적 저장 기간이있는 객체의 초기화 완료가 강력하게 발생하면 함수 호출이 std :: atexit에 전달되었습니다. 객체의 소멸자를 호출하기 전에 시퀀스됩니다. 정적 저장 시간으로 객체의 초기화가 완료되기 전에 std …


1
다른 스레드에서 flutter 엔진 메소드를 호출하는 방법
리눅스에 flutter desktop을 사용하고 있습니다. MarkTextureFrameAvailable엔진에 의해 다시 렌더링 될 텍스처를 표시해야하는 메소드를 호출 합니다. 비디오 플레이어를 프로그래밍하고 MarkTextureFrameAvailable있으므로 플레이어의 스레드에서 전화해야합니다 . 문제는 엔진이 MarkTextureFrameAvailable엔진을 생성 한 스레드에서 (및 다른 엔진 메소드)를 강제로 호출한다는 것 입니다. 엔진에 대한 모든 호출은 항상 셸에서 끝나며 호출을 생성 한 동일한 스레드에서 호출이 …

3
list :: empty () 멀티 스레드 동작?
다른 스레드가 요소를 가져 오기를 원하는 목록이 있습니다. 비어있을 때 목록을 보호하는 뮤텍스를 잠그지 않으려면 잠그기 empty()전에 확인하십시오 . 전화 list::empty()가 100 % 정확하지 않은 경우 괜찮 습니다. 동시 통화 list::push()와 list::pop()통화가 중단되거나 중단되는 것을 피하고 싶습니다 . VC ++과 Gnu GCC가 때때로 empty()잘못되고 더 나쁜 것이 없다고 가정해도 안전 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.