【多选题】
synchronized和java.util.concurrent.locks.Lock的比较,描述正确的是()    
A、Lock不能完成synchronized所实现的所有功能
B、synchronized会自动释放锁
C、Lock一定要求程序员手工释放,并且必须在finally从句中释放
D、Lock有比synchronized更精确的线程语义和更好的性能