服务器对锁定文件打开请求的响应
机会锁的生命周期包括三个不同的时间跨度。 在每个过程中,服务器通过不同的方式确定其对来自客户端的请求的反应,以打开被另一个客户端锁定的文件。 一般情况下,可以通过授予尽可能多的共享、请求所需的最低访问级别以及使用适用于应用程序的最少侵入性机会锁,来最大程度地降低应用程序对其他客户端的影响及其对应用程序的影响。
第一个是服务器为客户端打开文件之后、授予锁定之前的时间段。 在此期间,文件上不存在锁,服务器取决于共享、访问模式和你请求的机会锁类型,以确定其对另一个打开同一文件的请求的反应。 例如,如果打开有问题的文件进行写入访问,则可能会禁止授予允许对其他客户端进行读取缓存访问的机会性锁。 服务器授予锁之前的时间跨度通常在毫秒范围内,但可能更长。
授予机会锁后,服务器将检查锁以确定服务器对锁定文件打开请求的反应。 同样,应用程序打开文件的方式及其持有的锁类型会影响服务器的响应方式。 有关服务器在每个情况下如何响应的详细信息,请参阅 机会锁的类型。
最后,在服务器确定锁应断开 (结束) ,但在应用程序完成对中断的反应之前,还有一个跨度。 根据锁的类型,应用程序可以将锁降级到较低级别或根本不降级到任何级别。 应用程序还可以关闭文件和锁。 在此期间,服务器会保留来自其他客户端的任何打开以前锁定的文件的请求。 此时间跨度可能从毫秒到几十秒不等。 有关详细信息,请参阅 中断机会锁。