SELECT *FROM Table_Name WITH (TABLOCK)
VS
SELECT *FROM Table_Name WITH (TABLOCKX)
Sort answers like:
TABLOCK means a shared lock (You can select the data anytime)
TABLOCKX means an exclusive lock (You can’t access the table until it finishes the execution)
TABLOCK is used for operations that do not change the data
TABLOCKX is used for the data modification operations

TABLOCK
Specifies that the acquired lock is applied at the table level. The type of lock that is acquired depends on the statement being executed. For example, a SELECT statement may acquire a shared lock. By specifying TABLOCK, the shared lock is applied to the entire table instead of at the row or page level. If HOLDLOCK is also specified, the table lock is held until the end of the transaction.

XLOCK
Specifies that exclusive locks are to be taken and held until the transaction completes. If specified with ROWLOCK, PAGLOCK, or TABLOCK, the exclusive locks apply to the appropriate level of granularity.

TABLOCKX
Specifies that an exclusive lock is taken on the table.


Ref:  https://www.dbrnd.com/2018/03/sql-server-interview-what-is-the-difference-between-tablock-and-tablockx/