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

 
Roman :

이것은 추측일 뿐이며 아직 어디에 사용되는지 확인하지 못했습니다.
곧바로 Google에서 EventLoop가 사용되는 언어는 Py, JS, Qt이며 아마도 다른 언어일 수 있습니다.
그 의미는 어디에 적용하느냐가 아니라 쓰레드를 사용하지 않는 기술 자체에 있다.
그렇다면 기술을 차용하고 mql에서 자신의 EventLoop를 구현하지 않겠습니까?

확인하지 않았습니까? 확인할 수 있습니까?

스레드가 없는 비동기를 어떻게 상상합니까? 바지를 머리 위로 올리는 방법을 알고 있습니까?

 
Dmitry Fedoseev :

확인하지 않았습니까? 확인할 수 있습니까?

스레드가 없는 비동기를 어떻게 상상합니까? 바지를 머리 위로 올리는 방법을 알고 있습니까?

개발자들이 더 잘 알고 내 생각을 이해한다고 생각합니다.
대부분 예, 예약을 했고 스레드 풀이 사용되었지만 콜백 작업을 완료하는 데 사용되었습니다.
따라서 하나의 단일 스레드에서 비동기 코드를 작성하는 것이 이루어지며 각 요청은 이벤트로 간주됩니다.

에이전트에 대한 테스트에서 제 생각에 스레드 풀은 프로세스에만 사용되며 고통스럽게 유사한 동작입니다.
따라서 기술 자체는 이미 mql에 있지만 비동기 코드를 작성하는 사용자를 위해 개발된 것은 아닙니다.

다음은 Node.js 링크 에서 EventLoop가 작동하는 방식에 대한 이해입니다.
EventLoop이 asyncio 링크 에서 작동하는 방식은 다음과 같습니다.

 
Roman :

...
다음은 Node.js 링크 에서 EventLoop이 작동하는 방식에 대한 이해입니다.
EventLoop이 asyncio 링크 에서 작동하는 방식은 다음과 같습니다.

네, 저는 이미 여러분과 이 모든 비동기 프로그래밍 전문가가 하나의 스레드에 있고 머리 위로 바지를 입는 방법을 알고 있다는 것을 이해했습니다.

***

나는 EventLoop에 대한 다른 기사를 더 좋아했습니다. 나는 인용한다: "대부분의 최신 커널은 다중 스레드이기 때문에 ..." 나는 더 이상 읽지 않았습니다. 그것으로 충분했습니다.

 
따라서 개발자들이 이 제안을 듣고 자신의 EventLoop를 개발하기를 바랍니다.
그러면 Metatrader 터미널은 모든 사람과 모든 것을 찢어 버릴 것이며 확실히 동등하지 않을 것입니다!
 
Roman :
따라서 개발자들이 이 제안을 듣고 자신의 EventLoop를 개발하기를 바랍니다.
그러면 Metatrader 터미널은 모든 사람과 모든 것을 찢어 버릴 것이며 확실히 동등하지 않을 것입니다!

예, 이 EventLoop를 잊어버리십시오. 엉터리. 어떻게 바지를 머리 위로 올리는지 보여주세요.

***

나는 EventLoop에 대한 질문과 함께 인터뷰를 통과하는 방법에 대해 토론하면서 주제에 대해 조금 읽었습니다. 캠페인 이것은 pythonists와 jz-nodes의 일종의 주물입니다. 그것은 현실과 관련이 없습니다.

***

로만 :

...

다음은 Node.js 링크 에서 EventLoop이 작동하는 방식에 대한 이해입니다.
...

우리는 기사를 읽었습니다. 처음에 "NodeJS는 C++로 작성된 플랫폼에서 실행되는 단일 스레드 응용 프로그램(단일 스레드)이며 이 플랫폼은 다중 스레드(Multi-Thread)를 사용하여 작업을 동시에 실행합니다."

"C++로 작성된 프로그램으로 다중 스레드를 지원하므로 여기에서 요청은 다른 스레드에서 처리됩니다. NodeJS는 또한 다중 프로세스를 지원하므로 다른 코어(Core)에서 실행할 수 있음을 의미합니다."

질문이 생깁니다. "이 기사의 저자는 그것을 썼을 때 무엇을 취했습니까?"

 
Dmitry Fedoseev :

EventLoop에 대한 다른 기사가 더 마음에 들었습니다. 나는 인용한다: "대부분의 최신 커널은 다중 스레드이기 때문에 ..." 나는 더 이상 읽지 않았습니다. 그것으로 충분했습니다.

요점은 EA/스크립트가 하나의 스레드에서 작동하기 때문에 사용자가 하나의 스레드에서 비동기 코드를 작성할 수 있도록 하는 것입니다.
그리고 터미널의 야생에서 외부에서 누구도 액세스할 수 없는 개발된 EventLoop는 이미 작동할 것입니다!
이것은 당신에게 넌센스 일 수 있습니다. 저는 EventLoop 를 사용하여 Py로 작성된 서버를 가지고 있습니다.
그리고 모든 사람이 Py를 느리다고 생각한다는 사실에도 불구하고 천 개 이상의 작업이 한 번에 비동기적으로 처리됩니다.
비동기식으로 작성하면 날아갈 것입니다. 저는 바지를 머리에 쓰지 않고 필요한 기술만 사용합니다.

 

이 주제에 대한 또 다른 기사: "비동기 코드는 프로그램의 주 스레드에서 차단 작업을 제거하여 계속 실행되지만 다른 곳에서 처리기가 더 나아갈 수 있도록 합니다. 간단히 말해서 주 "프로세스"는 작업을 설정합니다. 그녀의 다른 독립적인 "과정"을 통과합니다. :)

아니요, 이 인용문은 이 기사에서 가져온 것입니다.
Roman :

...
EventLoop이 asyncio 링크 에서 작동하는 방식은 다음과 같습니다.

as - 프로그램은 계속 다른 곳에서 실행되고... 처리기는 여기에 남아 있습니다.

이 기사의 저자가 그가 말하는 내용에서 전혀 뜨개질하지 않는다는 것을 아직 이해하지 못하셨습니까? 그는 지난 세기의 90년대에 출판된 "빈도스의 기초"와 같은 것을 읽고 싶어합니다.

그리고 그는 그의 기사에서 실수로 프로세서에 신비한 힘을 부여하지 않습니까?

 
Roman :

... 올바른 기술을 사용하기만 하면 됩니다.

당신이 무엇을 사용하고 있는지 알고 있다면. 모든 것이 동일한 스레드에 남아 있으면(가능한 경우) 속도가 증가하지 않습니다. 속도 증가는 프로세스가 생성되고 다른 코어에서 처리되기 때문에 발생합니다.

로만 :

...
그리고 모든 사람이 Py를 느리다고 생각한다는 사실에도 불구하고 천 개 이상의 작업이 한 번에 비동기적으로 처리됩니다.
...

프로세서 코어 수보다 많은 작업을 동시에 처리할 수 없습니다.

 
Dmitry Fedoseev :

이 주제에 대한 또 다른 기사: "비동기 코드는 프로그램의 주 스레드에서 차단 작업을 제거하여 계속 실행되지만 다른 곳에서 처리기가 더 나아갈 수 있도록 합니다. 간단히 말해서 주 "프로세스"는 작업을 설정합니다. 그녀의 다른 독립적인 "과정"을 통과합니다. :)

아니요, 이 인용문은 이 기사에서 가져온 것입니다.

as - 프로그램은 계속 다른 곳에서 실행되고... 처리기는 여기에 남아 있습니다.

이 기사의 저자가 그가 말하는 내용에서 전혀 뜨개질하지 않는다는 것을 아직 이해하지 못하셨습니까? 그는 지난 세기의 90년대에 출판된 "빈도스의 기초"와 같은 것을 읽고 싶어합니다.

그리고 그는 그의 기사에서 실수로 프로세서에 신비한 힘을 부여하지 않습니까?

이를 위해 Thread Pool 또는 Coroutine이 사용되며 단순히 이 기술을 연구하지 않았고 전체 요점을 완전히 이해하지 못했습니다.
이 주제에 대해 당신과 논쟁하고 싶지 않습니다. 이 기술은 세계 기업에서 다른 언어와 엔진으로 성공적으로 사용됩니다.
그리고 기사에서 넌센스를 발견했다는 사실, 분명히 한 스레드에서 모든 것이 어떻게 작동하는지 아직 깨닫지 못한 것 같습니다))

 
Roman :

이를 위해 Thread Pool 또는 Coroutine이 사용되며 단순히 이 기술을 연구하지 않았고 전체 요점을 완전히 이해하지 못했습니다.
이 주제에 대해 당신과 논쟁하고 싶지 않습니다. 이 기술은 세계 기업에서 다른 언어와 엔진으로 성공적으로 사용됩니다.
그리고 기사에서 넌센스를 발견했다는 사실, 분명히 한 스레드에서 모든 것이 어떻게 작동하는지 아직 깨닫지 못한 것 같습니다))

에! 당국의 압력이 가해졌습니다 ... 또한 코드가 실행되는 어딘가에 위치)))) 그리고 신성한 힘이 적용되지 않습니까?

"스레드 풀"이라는 표현 자체는 여러 "스레드"가 있음을 의미합니다.

기술을 공부하려면 ... 먼저 상식을 마스터해야 합니다.