J'ai un problème très difficile:Comment gérer la manipulation de base de données de masse à chaque seconde - enfilade?
je rondes sur 20-50 objets que je DOIS (qui est donné pour le problème, s'il vous plaît ne pas passer du temps dans la réflexion autour de lui) mettre througt une logique CHAQUE DEUXIÈME.
La logique elle-même besoin autour de 200-600 millisecondes (90%, il est 200ms - 10%, il est de 600ms).
J'essaie de trouver une solution que je peux faire est plus petit, mais il n'y en a pas. Je dois obtenir un objet de DB, je dois avoir beaucoup de if-else et je dois le faire. - Même si je le réduis à 50ms ou plus petit, au taux veriable de l'objet jusqu'à 50 va me casser le cou avec le timer 1 seconde, car 50 x 50mx = 2,5 seconde. Donc, une tique a besoin de plus de temps que le tickrate devrait être.
Donc, mon seul, pas très intelligent je pense, l'idée est d'ouvrir pour chaque objet un propre fil et de mener un thread principal pour la manipulation. Donc le thread principal ouvre x autre thread. Donc, seulement cette ouverture doit prendre moins d'une seconde. Après que la logique soit utilisée, le fil peut se tuer et nous sommes tous heureux, n'est-ce pas?
En raison des dernières réponses, je vais vous expliquer mon problème:
J'essaie de construire un site de commissaire-priseur. J'ai donc jusqu'à 50 ventes aux enchères en cours au même moment - rien de spécial. Donc, je dois: chaque seconde regarde la liste des enchères, voir si l'heure est 00:00:01 et si c'est le cas, enchérir automatiquement (c'est une fonctionnalité, cet utilisateur peut créer). Donc: obtenez 50 objets dans une liste, parcourez, vérifiez si une enchère automatique est nécessaire, faites-le.
Vous n'avez pas besoin de faire défiler 50 articles; organisez la liste afin que vous connaissiez les écarts entre les heures de fermeture des enchères. Ensuite, regardez le devant de la liste et allez dormir jusqu'à 2 secondes après la fin de l'enchère. Ensuite, occupez-vous des un ou deux éléments qui doivent être traités en ce moment. –
Je suis désolé, pouvez-vous l'expliquer un peu désaxé comme une réponse ou quelque chose? Je ne comprends pas le point. – Kovu