Django's built-in signals are synchronous by default, meaning they are executed immediately when the signal is sent. However, there are ways to make signals asynchronous using external libraries or techniques. You can use Celery or Django Channels to make signals asynchronous.