MQL'de asenkron ve çok iş parçacıklı programlama - sayfa 35

 
Andrei Novichkov :

Ve aslında neden belgelerdeki bayrak hakkında bir şey okumuyorsunuz? https://en.cppreference.com adresinde. Ve stackoverflow.com'da tartışılan örnekler. Genelde size tavsiye ettiğim bu bilgi kaynaklarını kullanırım.

Ve o zaman sözlerden sorumlu değilseniz neden bir sohbete müdahale ediyorsunuz? Dizinden akıllı amcalar değil, senin fikrinle ilgilendim. İçeri gel ve karışma. Talimatlarınız olmadan rıhtımları okuyabilirim. Ve bir iş parçacığında bir işlevi çağırmak için , tüm bu hayvanat bahçesine gelecek/söz/async'den ihtiyacım yok.

 
Vict :

Ve o zaman sözlerden sen sorumlu değilsen neden bir sohbete müdahale ediyorsun? Dizinden akıllı amcalar değil, senin fikrinle ilgilendim. İçeri gel ve karışma. Talimatlarınız olmadan rıhtımları okuyabilirim. Ve bir iş parçacığındabir işlevi çağırmak için , tüm bu hayvanat bahçesine gelecek/söz/async'den ihtiyacım yok.

Bir tür saçmalık taşıyorsun. Bilmiyorsun, bilgiyi nereden bulacağını söyledim. Ve suçluydu. Kitaplarla daha sık arkadaş olun.
 
Andrei Novichkov :
Bir tür saçmalık taşıyorsun. Bilmiyorsun, bilgiyi nereden bulacağını söyledim. Ve suçluydu. Kitaplarla daha sık arkadaş olun.

Belli ki kendini tanımıyorsun. Neden hiçbir şey hakkında yazmıyorsun? Belki bunun nesi yanlış bilmiyorum? Normal bir görüş istedim, cevap olarak beni bir yere gönderdi.

Kara listeye alındı, yoldaş.

 
Vict :

Belli ki kendini tanımıyorsun. Neden hiçbir şey hakkında yazmıyorsun? Belki bunun nesi yanlış bilmiyorum? Normal bir görüş istedim, cevap olarak beni bir yere gönderdi.

Kara listeye alındı, yoldaş.

Seni hiçbir yere göndermedim, aklımda bile yoktu. Kendi sözlerimle, bu tür sorulara kötü cevap veriyorum, bu yüzden belgeler hakkında yazdım. Yine, kızacak ne var? Ama nasıl istersen, siyahla, yani siyahla.
 
Andrei Novichkov :
Seni hiçbir yere göndermedim, aklımda bile yoktu. Kendi sözlerimle, bu tür sorulara kötü cevap veriyorum, bu yüzden belgeler hakkında yazdım. Yine, kızacak ne var? Ama nasıl istersen, siyahla, yani siyahla.

Eh, bununla ilgili belgeler çok yardımcı değil.

standart::lansman::ertelenmiş görev, sonucu ilk istendiğinde çağıran iş parçacığında yürütülür (tembel değerlendirme)
Böyle bir mucize için neye ihtiyaç var - Gerçekten anlamıyorum, ihtiyacım olan iş parçacığına kolayca bir işlev işaretçisi iletebilir ve orada herhangi bir async ( std::launch::deferred) olmadan hesaplayabilirim.
 
Vict :

Böyle bir mucize için neye ihtiyaç var - Gerçekten anlamıyorum, ihtiyacım olan iş parçacığına kolayca bir işlev işaretçisi iletebilir ve orada herhangi bir async ( std::launch::deferred) olmadan hesaplayabilirim.

Offtopik olabilir, ancak:

Microsoft'tan örneklerin genellikle kendi kendini belgeleyen kodlar biçiminde yazıldığını fark ettim, bu yüzden açılabilen ve nihai değerle değiştirilebilen hantal yapılar yazıyorlar (örneğin, kodu görüyorsunuz ve her şeyi anlıyorsunuz) )) )

Not: C# örneklerinde, ne yazık ki, her şey yanlış, C# ile birkaç kez yazdım, bunun aslında, OOP'nin zorunlu kullanımına belirli bir eğilimi olan bir C++ analogu olduğundan emin olarak, ortaya çıktı. her şey tamamen yanlıştı, bu C++ değil, temel sınıfa döküm yapmadan sınıf alanlarına "almak" genellikle imkansızdır, bu yüzden genel olarak hazır kitaplıkları ayrıştırmak için uzun hantal yapılar kullanmanız gerekir. C# başka bir macera!

 

Bu iki bayrağın varsayılan olarak birlikte kullanıldığını unutmayın. Ertelenmiş | async, sorumluluğu geliştiriciden kaldırır. Burada iş parçacığının ana işlevinden bahsediyoruz, peki, evet, argümanlarda ona her şeyi iletebilirsiniz, dahil. ve bir işlev işaretçisi veya işlevci. Ve ertelenmiş bayrak, bu işlevin genel olarak eşzamanlı yürütülmesini ima edebilir. Eh, bu tür soruları kendi kelimelerimle cevaplamakta kötü olduğumu söylüyorum) Lapa çıkıyor. Genellikle her şeyi varsayılan olarak bırakırsınız ve bu bayraklarla uğraşmazsınız, belki bu doğru değildir.

 
Igor Makanu :

Not: C# örneklerinde, ne yazık ki, her şey yanlış, C# ile birkaç kez yazdım, bunun aslında, OOP'nin zorunlu kullanımına belirli bir eğilimi olan bir C++ analogu olduğundan emin olarak, ortaya çıktı. her şey tamamen yanlıştı, bu C++ değil, temel sınıfa döküm yapmadan sınıf alanlarına "almak" genellikle imkansızdır, bu yüzden genel olarak hazır kitaplıkları ayrıştırmak için uzun hantal yapılar kullanmanız gerekir. C# başka bir macera!

MS'in Spurs hakkında çok iyi belgeleri var. Her şey detaylı. Şikayet etmek günah
 
Vict :

Eh, bununla ilgili belgeler çok yardımcı değil.

Böyle bir mucize için neye ihtiyaç var - Gerçekten anlamıyorum, ihtiyacım olan iş parçacığına kolayca bir işlev işaretçisi iletebilir ve orada herhangi bir async ( std::launch::deferred) olmadan hesaplayabilirim.
Örneğin, yığındaki mevcut parametrelerle değerleri hesaplamak için fonksiyona ihtiyacınız var, ancak şimdi değil ve bu kapsamda değil. Böylece std::asinc yaratırsınız, ancak, işte bir pusu, parametrelerden biri global bir değişkene bir referans veya bir işaretçidir, ancak hesaplamalarda bu değişkenin mevcut değerine değil, olacak olana ihtiyacınız olacaktır. daha sonra, bit std::lonch::asinc ve std::lonch:: maskları ertelendi ve değeri şimdi fonksiyona geçirme ve hesaplamaları daha sonra gerçekleştirme fırsatı verildi.
 
Vladimir Simakov :
Örneğin, yığındaki mevcut parametrelerle değerleri hesaplamak için fonksiyona ihtiyacınız var, ancak şimdi değil ve bu kapsamda değil. Böylece std::asinc yaratırsınız, ancak, işte bir pusu, parametrelerden biri global bir değişkene bir referans veya bir işaretçidir, ancak hesaplamalarda bu değişkenin mevcut değerine değil, olacak olana ihtiyacınız olacaktır. daha sonra, bit std::lonch::asinc ve std::lonch:: maskları ertelendi ve değeri şimdi fonksiyona geçirme ve hesaplamaları daha sonra gerçekleştirme fırsatı verildi.

Bu şekilde, async'e ilettiğim işlevi alabilir, argümanları ona bağlayabilir ve arama (veya başka bir iş parçacığına gönderme) zamanı geldiğinde doğru ana kadar saklayabilirim. Fark nedir - geleceği saklamak veya std::bind()'den egzoz yapmak?

Aklıma gelen tek mantıklı açıklama havuzda çalışan thread sayısı üzerinde manuel kontrol (varsayılan async | deferred'e güvenmiyorsak) - örneğin, sistemin çok yüklendiğini görüyoruz, görev göndermeyi bırakıyoruz. zaman uyumsuz bayrak ile ertelenmiş göndeririz.

Genel olarak, async'in () yavaşlığından biraz hayal kırıklığına uğradım, hafif iplik havuzumu uydurmak için zamanım olacak, bana öyle geliyor ki çok daha hızlı olacak.