MQL의 비동기 및 다중 스레드 프로그래밍 - 페이지 33

 
Roman :

나는 모든 것을 좋아합니다)) 이해하기위한 다양한 접근 방식을 선택한 다음 나에게 더 이해하기 쉽고 요구 사항을 충족하는 것을 선택하면 모든 것이 간단합니다.

전 세계가 DLL과 함께 일하고 있으며, 이를 최고의 역량이라고 생각하는 종파 집단만이 ML의 기적과 함께 일합니다.
 
Yuriy Asaulenko :
전 세계가 DLL과 함께 일하고 있으며, 이를 최고의 역량이라고 생각하는 종파 집단만이 ML의 기적과 함께 일합니다.

나는 웃었고, 나는 이것에 동의하지 않을 수 없다))))
좋아, 그는 매뉴얼을 피우고 전치사 옵션에 대해 생각하기 위해 떠났습니다.
정말 홍수없이 다양한 솔루션을 제안한 모든 분들께 감사드립니다.
이제 선택할 것이 많습니다.

 
옛날 농담이 생각나네요.
국제 의학 회의. 러시아 대표단의 보고서 - "항문을 통한 편도선 제거".
읽었다. 바닥에서 추가 질문.
- 우리는 러시아 수술의 기술과 성과에 기뻐합니다. 근데 왜 항문으로?
- 그리고 우리는 모두 그렇게 합니다.
 
Vict :

Future 및 Async가 C++ 전용 표준이라는 것을 올바르게 이해하고 있습니까?
C 언어에 그런 라이브러리가 있습니까?

 
Roman :

Future 및 Async가 C++ 전용 표준이라는 것을 올바르게 이해하고 있습니까?
C 언어에 그런 라이브러리가 있습니까?

바르게. C++ std는 또한 멀티스레딩을 지원합니다. https://en.cppreference.com/w/c/thread

추신: 또한 anthony williams의 책 "c ++ concurrency in action"을 공부할 수 있습니다. 예를 들어, 9장에서 그는 스레드 풀을 작성합니다.

Thread support library - cppreference.com
  • en.cppreference.com
If the macro constant is defined by the compiler, the header and all of the names listed here are not provided. Function names, type names, and enumeration constants that begin with either , , , or , and a...
 
Vict :

바르게. C++ std는 또한 멀티스레딩을 지원합니다. https://en.cppreference.com/w/c/thread

추신: 또한 anthony williams의 책 "c ++ concurrency in action"을 공부할 수 있습니다. 예를 들어, 9장에서 그는 스레드 풀을 작성합니다.

페이지 하단의 링크 참조 ))
알겠습니다. std:: 스레드 는 C에 있지만 std :: async는 ((
지금 나는 이 책을 읽고 있다)) C++ 병렬 프로그래밍 실행, Anthony Williams.
첨부파일에 있는 책에 관심있는 분들은
async 4장부터 시작해서 상당히 읽기 쉽습니다.
그리고 Kurt Gunteroth는 자신의 책 Optimizing C++ Programs에서 스레드 생성이 std::async를 사용하는 것보다 14배 더 비싸다고 주장합니다.
원래 비동기 기술로 작업하고 싶었지만 C/C++에서 쓰레드에 대한 미묘함을 모르고,
따라서 스레드가 더 비싸면 어쨌든 사용을 위해 사라집니다.
그러나 C에서 std :: async는 ((


 
Roman :

페이지 하단의 링크 참조 ))
알겠습니다. std:: 스레드 는 C에 있지만 std :: async는 ((
지금 나는 이 책을 읽고 있다)) C++ 병렬 프로그래밍 실행, Anthony Williams.
첨부파일에 있는 책에 관심있는 분들은
async 4장부터 시작해서 상당히 읽기 쉽습니다.
그리고 Kurt Gunteroth는 자신의 책 Optimizing C++ Programs에서 스레드 생성이 std::async를 사용하는 것보다 14배 더 비싸다고 주장합니다.
원래 비동기 기술로 작업하고 싶었지만 C/C++에서 쓰레드에 대한 미묘함을 모르고,
따라서 스레드가 더 비싸면 어쨌든 사용을 위해 사라집니다.
그러나 C에서 std :: async는 ((

스레드는 더 비싸지 않으며, 무엇이든 성형할 수 있는 낮은 수준의 도구일 뿐입니다. "비싼 스레드"에 대한 가장 간단한 스레드 풀 - 1시간 작성(또는 기성품 사용).

스레드를 생성하는 것은 std::async를 사용하는 것보다 14배 더 비쌉니다.

비동기 내부에 스레드 풀이 있는 경우일 수 있지만 항상 그런 것은 아닙니다 https://stackoverflow.com/questions/15666443/which-stdasync-implementations-use-thread-pools .

결과적으로 async는 제어되지 않는 검은색 상자입니다. 나는 당신이 당신 자신의 풀을 작성할 것을 촉구하지 않습니다. 비동기에 편하다면 훌륭합니다.

추신: C++17에서 비동기를 제거하고 싶다는 소문이 있었습니다.
Which std::async implementations use thread pools?
Which std::async implementations use thread pools?
  • 2013.03.27
  • KnowItAllWannabeKnowItAllWannabe 5,31455 gold badges3434 silver badges7676 bronze badges
  • stackoverflow.com
One of the advantages of using instead of manually creating objects is supposed to be that can use thread pools under the covers to avoid oversubscription problems. But which...
 

async는 동기식으로 쉽게 실행할 수 있으며 해당 플래그가 있습니다. 그리고 플러스의 스레드 풀은 제 생각에 복잡한 문제이며 매우 긴급한 경우에 작성하는 것이 좋습니다. 그런 다음 스레드 풀에서 예리하게 보는 것이 좋습니다.

"Scott Meyers. Efficient and Modern C++"도 추천합니다. 블록버스터처럼 읽기 쉬운 2016. 아래에 아카이브를 첨부합니다. 그는 흐름에 대한 흥미로운 챕터를 가지고 있습니다. 그리고 일반적으로 Myers는 필요하기 때문에 읽어야합니다)))

 
Andrei Novichkov :

그리고 플러스의 스레드 풀은 제 생각에 복잡한 문제이며 매우 긴급한 경우에 작성하는 것이 좋습니다.

글쎄, 그것을 너무 복잡하게하지 마십시오. 직접 작성하고 싶지 않다면 완성된 것을 가져오는 것이 쉽습니다. 여기에서 빠른 검색 https://github.com/vit-vit/ctpl 을 참조하십시오. 그리고 이것은 async(매우 자주 비판을 받는)와 달리 어느 정도 예측 가능한 것입니다.

vit-vit/CTPL
vit-vit/CTPL
  • vit-vit
  • github.com
More specifically, there are some threads dedicated to the pool and a container of jobs. The jobs come to the pool dynamically. A job is fetched and deleted from the container when there is an idle thread. The job is then run on that thread. A thread pool is helpful when you want to minimize time of loading and destroying threads and when you...
 
Vict :

글쎄, 그것을 너무 복잡하게하지 마십시오. 직접 작성하고 싶지 않다면 완성된 것을 가져오는 것이 쉽습니다. 여기에서 빠른 검색 https://github.com/vit-vit/ctpl 을 참조하십시오. 그리고 이것은 async(매우 자주 비판을 받는)와 달리 어느 정도 예측 가능한 것입니다.

아니오, 하고 싶지 않습니다 )))))) 그러나 피상적인 검색도 너무 어렵습니다. mmmmm. github에서 많은 쓰레기를 발견했습니다. 그러나 여기에 내가 궁금한 것이 있습니다. 실제로 스레드 풀이 필요한 작업이 있습니까? 뿐만 아니라 - 내가 스레드를 생성했습니다 - 나는 그것을 잊었고 Williams가 설명하는 유형에 따라 풀, 즉 풀이 끝날 때까지 기다리고 있습니까? 거기에 예를 들어 혼동하지 않으면 ATM처럼 보이지만 그러한 유도 기적이 우리 나라에서 어떤 과업을 정당화 할 수 있습니까? 나는 아직 그런 문제를 생각해내지 못했다. 그런 다음 모든 것이 이미 완료되었으며 문서가 있고 예제가 있는 ThreadPool을 실제로 살펴보는 것은 어떻습니까?