本文整理汇总了Python中whoosh.filedb.filestore.FileStorage.lock方法的典型用法代码示例。如果您正苦于以下问题:Python FileStorage.lock方法的具体用法?Python FileStorage.lock怎么用?Python FileStorage.lock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类whoosh.filedb.filestore.FileStorage
的用法示例。
在下文中一共展示了FileStorage.lock方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_threaded_filelock
# 需要导入模块: from whoosh.filedb.filestore import FileStorage [as 别名]
# 或者: from whoosh.filedb.filestore.FileStorage import lock [as 别名]
def test_threaded_filelock(self):
self.make_dir("testindex")
st = FileStorage("testindex")
lock1 = st.lock("testlock")
result = []
# The thread function tries to acquire the lock and
# then quits
def fn():
lock2 = st.lock("testlock")
gotit = try_for(lock2.acquire, 1.0, 0.1)
if gotit:
result.append(True)
lock2.release()
t = threading.Thread(target=fn)
# Acquire the lock in this thread
lock1.acquire()
# Start the other thread trying to acquire the lock
t.start()
# Wait for a bit
time.sleep(0.15)
# Release the lock
lock1.release()
# Wait for the other thread to finish
t.join()
# If the other thread got the lock, it should have
# appended something to the "results" list.
self.assertEqual(len(result), 1)
self.clean_file("testindex/testlock")
self.destroy_dir("testindex")
示例2: test_filelock_simple
# 需要导入模块: from whoosh.filedb.filestore import FileStorage [as 别名]
# 或者: from whoosh.filedb.filestore.FileStorage import lock [as 别名]
def test_filelock_simple(self):
self.make_dir("testindex")
st = FileStorage("testindex")
lock1 = st.lock("testlock")
lock2 = st.lock("testlock")
self.assertTrue(lock1.acquire())
self.assertFalse(lock2.acquire())
lock1.release()
self.assertTrue(lock2.acquire())
self.assertFalse(lock1.acquire())
lock2.release()
self.clean_file("testindex/testlock")
self.destroy_dir("testindex")