-
-
Notifications
You must be signed in to change notification settings - Fork 66
/
usleep.php
31 lines (22 loc) 路 930 Bytes
/
usleep.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
declare(strict_types=1);
namespace Psl\Example\IO;
use Psl\Async;
use Psl\DateTime;
use Psl\IO;
require __DIR__ . '/../../vendor/autoload.php';
Async\main(static function (): int {
$start = DateTime\Timestamp::monotonic();
Async\concurrently([
static fn() => Async\sleep(DateTime\Duration::hours(0)),
static fn() => Async\sleep(DateTime\Duration::minutes(0)),
static fn() => Async\sleep(DateTime\Duration::zero()),
static fn() => Async\sleep(DateTime\Duration::seconds(2)),
static fn() => Async\sleep(DateTime\Duration::nanoseconds(20000000)),
static fn() => Async\sleep(DateTime\Duration::microseconds(200000)),
static fn() => Async\sleep(DateTime\Duration::milliseconds(2000)),
]);
$duration = DateTime\Timestamp::monotonic()->since($start);
IO\write_error_line("duration : %s.", $duration->toString(max_decimals: 5));
return 0;
});