What's the difference between Locking and Lockless (Optimistic and Pessimistic) concurrency models?

Technical