Normally I would not bother, but when CHECKDB runs on TempDB it cannot use a snapshot so has to lock all the temp tables. This script will wait for exclusive access for up to a minute.
DECLARE @outcome VARCHAR(50) = 'TempDB is currently too busy for CHECHDB',
@endtime DATETIME = DATEADD(mi,1,GETDATE())
WHILE GETDATE() < @endtime
BEGIN
IF NOT EXISTS (SELECT 1 FROM sys.dm_tran_locks WHERE request_mode = 'X' AND resource_database_id = 2)
BEGIN
DBCC CheckDB([tempdb]) WITH NO_INFOMSGS;
SET @outcome = 'success'
BREAK;
END
WAITFOR DELAY '00:00:01';
END
SELECT @outcome