Here I have read:
Read Uncommitted, Read Committed, Repeatable Read, and Serializable
come under the pessimistic concurrency model
And here:
Pessimistic locking implementation using SQL
Shared lock on row
Exclusive lock on row
https://learning-notes.mistermicheels.com/data/sql/optimistic-pessimistic-locking-sql/
So why do we have shared lock and exclusive lock if we can achieve pessimistic concurrency control using transaction isolation levels?