How to buy bitcoin from an stranger.

1M Ago
I want to buy bitcoin from an stranger that is physically far from me, and we don't trust each other because we don't know each other. In order to do the transaction, one of us must send the funds to the other first (whether bitcoin or fiat), but none of us wants to be the first sender because of the lack of trust. Is there any way to mitigate this problem and make the transaction "atomic"? I heard about descentralized exchanges, but I don't know if those would do the job. Thanks!