@@ -24,35 +24,35 @@ To add the library as a local, per-project dependency use [Composer](http://getc
24
24
$writer = function($value) {
25
25
$db = (new \MongoClient())->selectDB('locksExample');
26
26
$data = $db->selectCollection('data');
27
- $locks = $db->selectCollection('locks');
27
+ $locker = new Locker( $db->selectCollection('locks'), 0 );
28
28
29
29
while (true) {
30
- Locker:: writeLock($locks, 'theId', new \MongoDate(time() + 1000), 0 );
30
+ $locker-> writeLock('theId', 1000);
31
31
32
32
$data->update(['_id' => 1], ['_id' => 1, 'key' => $value], ['upsert' => true]);
33
33
$data->update(['_id' => 2], ['_id' => 2, 'key' => $value], ['upsert' => true]);
34
34
$data->update(['_id' => 3], ['_id' => 3, 'key' => $value], ['upsert' => true]);
35
35
$data->update(['_id' => 4], ['_id' => 4, 'key' => $value], ['upsert' => true]);
36
36
37
- Locker:: writeUnlock($locks, 'theId');
37
+ $locker-> writeUnlock('theId');
38
38
}
39
39
};
40
40
41
41
$reader = function() {
42
42
$db = (new \MongoClient())->selectDB('locksExample');
43
43
$data = $db->selectCollection('data');
44
- $locks = $db->selectCollection('locks');
44
+ $locker = new Locker( $db->selectCollection('locks'), 100000 );
45
45
46
46
while (true) {
47
- $readerId = Locker:: readLock($locks, 'theId', new \MongoDate(time() + 1000), 100000 );
47
+ $readerId = $locker-> readLock('theId', 1000);
48
48
49
49
foreach ($data->find()->sort(['_id' => 1]) as $doc) {
50
50
echo "{$doc['key']} ";
51
51
}
52
52
53
53
echo "\n";
54
54
55
- Locker:: readUnlock($locks, 'theId', $readerId);
55
+ $locker-> readUnlock('theId', $readerId);
56
56
57
57
usleep(100000);
58
58
}
0 commit comments