It is often insecure to hold a lock while performing performs network transactions. Depending on the speed and reliability of the connection, held locks can stall the program indefinitely causing a huge performance hit. At other times, it can result in temporary or permanent deadlock.
...