J'aime tout :) différentes approches pour comprendre et ensuite choisir celle qui a le plus de sens pour moi et qui correspond aux exigences, c'est simple.
Le monde entier travaille avec DLL, avec les merveilles d'ICL seulement un groupe de sectaires qui pensent que c'est la plus haute compétence.
Yuriy Asaulenko: Le monde entier travaille avec DLL, avec les miracles d'ICL seulement un groupe de sectaires qui pensent que c'est la plus haute compétence.
C'est hilarant, et je ne pourrais pas être plus d'accord )))) Bien parti pour lire les manuels et réfléchir aux options proposées. Merci à tous ceux qui n'ont vraiment pas fait de gaffe, ont suggéré diverses solutions. Il y a maintenant l'embarras du choix.
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...
HH : vous pouvez aussi lire le livre "c++ concurrency in action" par anthony williams. Par exemple, au chapitre 9, il écrit "thread pool".
Je n'ai pas remarqué le lien Voir aussi en bas de page )) J'ai compris,std::thread est en C, maisstd: :async ne l'est pas (( Je lis ce livre maintenant )) Parallel C++ programming in action, Anthony Williams. Le livre est dans la pièce jointe, async commence au chapitre 4, assez facile à lire. Et Kurt Ganteroth, dans son livre Optimizing C++ Programs, affirme qu'il est 14 fois plus coûteux de créer des threads que d'utiliser std::async. C'estpourquoi je voulais à l'origine utiliser l'asynchronisme, mais je ne connaissais pas beaucoup les threads en C/C++ non plus, donc siles threads sont plus chers, ils tombent de toute façon à l'usage. Mais il s'avère qu'en C,std: :async n'existe pas((
Je n'ai pas remarqué le lien Voir aussi en bas de page )) J'ai compris,std::thread est en C, mais std: : async ne l'est pas (( Je lis ce livre maintenant )) La programmation parallèle C++ en action, par Anthony Williams. Si vous êtes intéressé, le livre est dans la pièce jointe, async commence au chapitre 4, assez facile à lire. Et Kurt Ganteroth, dans son livre Optimizing C++ Programs, affirme qu'il est 14 fois plus coûteux de créer des threads que d'utiliser std::async. C'est pourquoi je voulais à l'origine utiliser l'asynchronisme, mais je ne connaissais pas beaucoup les threads en C/C++ non plus, donc siles fils sont plus chers, ils ne valent pas la peine d'être utilisés de toute façon. Mais il s'avère qu'en C,std: : async n'existe pas ((
Un fil n'est pas plus cher, c'est juste un outil de niveau inférieur avec lequel on peut faire n'importe quoi. Vous pouvez créer votre propre pool de threads simple sur "expensive threads" - une heure d'écriture (ou prendre une lib prête à l'emploi).
La création de threads est 14 fois plus coûteuse que l'utilisation de std::async.
Par conséquent, l'asynchronisme est une boîte noire et incontrôlable. Je ne vous incite pas à écrire votre propre pool, si vous vous sentez à l'aise avec l'asynchronisme, très bien.
ZS : il y avait des rumeurs selon lesquelles l'asynchronisme allait être supprimé de c++17.
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 peut être exécuté de manière synchrone, il y a un drapeau pour cela. Je pense que le thread pooling sur les plus est compliqué et n'a de sens qu'en cas d'extrême nécessité. Tu ferais mieux de jeter un coup d'oeil à Sharp, à ce pooling de threads.
Je recommande également "Scott Meyers : Efficient and Modern C++". 2016, facile à lire, comme un blockbuster. J'ai joint l'archive ci-dessous. Il a un chapitre intéressant sur les fils. Et en général, il faut lire Meyers, parce qu'il le faut ;)))
Je pense que la mise en commun des fils sur les pros est délicate et n'a de sens que si elle est absolument nécessaire.
Ne rendez pas les choses plus difficiles qu'elles ne doivent l'être. Si vous ne voulez pas l'écrire vous-même, vous pouvez facilement en prendre un tout prêt, une recherche rapide ici https://github.com/vit-vit/ctpl. Et c'est quelque chose de moins prévisible, contrairement à async (qui est souvent critiqué).
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...
Ne rendez pas ça plus difficile que ça ne l'est. Si vous ne voulez pas l'écrire vous-même, vous pouvez facilement en obtenir un prêt à l'emploi, voici une recherche rapide https://github.com/vit-vit/ctpl. Et c'est quelque chose de moins prévisible, contrairement à async (qui est souvent critiqué).
Non, je n'en ai pas envie )))))) Mais une recherche superficielle est aussi, hum, dangereuse. Je suis tombé sur beaucoup de déchets sur Github. Mais une autre question m'intéresse : y a-t-il des tâches qui nécessiteraient vraiment le thread pooling ? Pas simplement créer un fil, l'oublier et attendre qu'il se termine, mais le mettre en commun comme le décrit Williams ? Si je ne me trompe pas, il s'agit là d'un exemple de distributeur automatique de billets - quelle tâche pourrait justifier un tel judo miraculeux ? Je ne peux pas encore penser à une telle tâche. Et pourquoi ne regardez-vous pas vraiment ThreadPool où tout est déjà fait, il y a de la documentation et des exemples.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
J'aime tout :) différentes approches pour comprendre et ensuite choisir celle qui a le plus de sens pour moi et qui correspond aux exigences, c'est simple.
Le monde entier travaille avec DLL, avec les miracles d'ICL seulement un groupe de sectaires qui pensent que c'est la plus haute compétence.
C'est hilarant, et je ne pourrais pas être plus d'accord ))))
Bien parti pour lire les manuels et réfléchir aux options proposées.
Merci à tous ceux qui n'ont vraiment pas fait de gaffe, ont suggéré diverses solutions.
Il y a maintenant l'embarras du choix.
J'ai bien compris que Futures et Async sont des standards uniquement pour C++ ?
N'existe-t-il pas une bibliothèque similaire en C ?
J'ai bien compris que Futures et Async sont des standards uniquement pour C++ ?
N'existe-t-il pas une bibliothèque similaire en C ?
Bien. Cish std a également un support multi-threading https://en.cppreference.com/w/c/thread
ZS : vous pouvez également lire le livre "c++ concurrency in action" d'anthony williams. Par exemple, au chapitre 9, il écrit "thread pool".
Bien. Cish std a également un support multi-threading https://en.cppreference.com/w/c/thread
HH : vous pouvez aussi lire le livre "c++ concurrency in action" par anthony williams. Par exemple, au chapitre 9, il écrit "thread pool".
Je n'ai pas remarqué le lien Voir aussi en bas de page ))
J'ai compris,std::thread est en C, maisstd: :async ne l'est pas ((
Je lis ce livre maintenant )) Parallel C++ programming in action, Anthony Williams.
Le livre est dans la pièce jointe, async commence au chapitre 4, assez facile à lire.
Et Kurt Ganteroth, dans son livre Optimizing C++ Programs, affirme qu'il est 14 fois plus coûteux de créer des threads que d'utiliser std::async.
C'estpourquoi je voulais à l'origine utiliser l'asynchronisme, mais je ne connaissais pas beaucoup les threads en C/C++ non plus,
donc siles threads sont plus chers, ils tombent de toute façon à l'usage.
Mais il s'avère qu'en C,std: :async n'existe pas((
Je n'ai pas remarqué le lien Voir aussi en bas de page ))
J'ai compris,std::thread est en C, mais std: : async ne l'est pas ((
Je lis ce livre maintenant )) La programmation parallèle C++ en action, par Anthony Williams.
Si vous êtes intéressé, le livre est dans la pièce jointe, async commence au chapitre 4, assez facile à lire.
Et Kurt Ganteroth, dans son livre Optimizing C++ Programs, affirme qu'il est 14 fois plus coûteux de créer des threads que d'utiliser std::async.
C'est pourquoi je voulais à l'origine utiliser l'asynchronisme, mais je ne connaissais pas beaucoup les threads en C/C++ non plus,
donc siles fils sont plus chers, ils ne valent pas la peine d'être utilisés de toute façon.
Mais il s'avère qu'en C,std: : async n'existe pas ((
Un fil n'est pas plus cher, c'est juste un outil de niveau inférieur avec lequel on peut faire n'importe quoi. Vous pouvez créer votre propre pool de threads simple sur "expensive threads" - une heure d'écriture (ou prendre une lib prête à l'emploi).
La création de threads est 14 fois plus coûteuse que l'utilisation de std::async.
Peut-être s'il y a un pool de threads dans l'asynchrone, mais ce n'est pas toujours le cas https://stackoverflow.com/questions/15666443/which-stdasync-implementations-use-thread-pools.
Par conséquent, l'asynchronisme est une boîte noire et incontrôlable. Je ne vous incite pas à écrire votre propre pool, si vous vous sentez à l'aise avec l'asynchronisme, très bien.
ZS : il y avait des rumeurs selon lesquelles l'asynchronisme allait être supprimé de c++17.Async peut être exécuté de manière synchrone, il y a un drapeau pour cela. Je pense que le thread pooling sur les plus est compliqué et n'a de sens qu'en cas d'extrême nécessité. Tu ferais mieux de jeter un coup d'oeil à Sharp, à ce pooling de threads.
Je recommande également "Scott Meyers : Efficient and Modern C++". 2016, facile à lire, comme un blockbuster. J'ai joint l'archive ci-dessous. Il a un chapitre intéressant sur les fils. Et en général, il faut lire Meyers, parce qu'il le faut ;)))
Je pense que la mise en commun des fils sur les pros est délicate et n'a de sens que si elle est absolument nécessaire.
Ne rendez pas les choses plus difficiles qu'elles ne doivent l'être. Si vous ne voulez pas l'écrire vous-même, vous pouvez facilement en prendre un tout prêt, une recherche rapide ici https://github.com/vit-vit/ctpl. Et c'est quelque chose de moins prévisible, contrairement à async (qui est souvent critiqué).
Ne rendez pas ça plus difficile que ça ne l'est. Si vous ne voulez pas l'écrire vous-même, vous pouvez facilement en obtenir un prêt à l'emploi, voici une recherche rapide https://github.com/vit-vit/ctpl. Et c'est quelque chose de moins prévisible, contrairement à async (qui est souvent critiqué).