bonjour à tous

voila j'ai quelques questions sur les threads et multiprocessing car j'ai du mal a faire la différence entre les deux et vous allez surement m'éclairer.

deja faut il plusieurs processeurs pour utiliser les threads, car chaque processeur éxécuterait un programme non ?pareil pour le multiprocessing?

a ce que j'ai pu voir pour les threads ca permet de créer plusieurs fonctions qui peuvent fonctionner en meme temps au lieu de fonction l'une apres l'autre ou alors c'est ce que fait le multiprocessing?

je veux realiser un robot qui est capable de se repérer dans un plan via des ultrasons et donc j'aimerais faire une boucle ou ce programme est sans cesse éxécuté pour voir si les distances entre mes Ultrasons - obstacles sont assez grande, et si jamais l'obstacle est trop proche bah je met un flag a une variable
qui sera lu par un autre programme qui li cette variable mais sans interagir avec le programme des ultrasons, a ce que j'ai pu voir les threads font tres bien ca, pouvez vous me le confirmer ?

merci d'avance pour vos reponses