Dans le contexte de la programmation concurrente, l'allocation de ressources est l'opération permettant d'affecter des ressources à un thread particulier. Cette opération est nécessaire dans le cadre de la programmation concurrente pour garantir les accès adaptés à des ressources partagées entre plusieurs threads. Une telle opération n'est pas nécessaire pour les ressources non partagées.
Il existe différents types de ressources partagées et donc aussi différents types d'accès à ces ressources. La suite de cet article présente différents cas d'allocation de ressources. Il n'existe pas de solution triviale pour traiter tous les types d'allocation ; il existe des méthodes classiques pour des cas standards d'allocation, mais les allocations particulières doivent faire l'objet d'un algorithme adapté.