В первом случае вы блокируете переменную "sb", а во втором - в объекте "this".Это очевидно, но я предполагаю, что вы хотите знать , что лучше .
Ну, первый случай лучше, потому что вы блокируете локальную переменную (рассмотрите возможность сделать ее закрытой) иВы совершенно уверены, что никто другой не сможет заблокировать это, кроме вас.Если вы заблокируете «this», любой другой поток может использовать этот объект для блокировки, не позволяя вам запустить синхронизированный код (тогда как вы можете безопасно).