ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
JavaScript
// async/await で待機(推奨)
async function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
console.log("start");
await delay(1000); // 1 秒待つ
console.log("after 1s");
await delay(500); // 0.5 秒待つ
console.log("done");
}
// setTimeout (コールバック形式)
setTimeout(() => {
console.log("after 1s");
}, 1000);
// setInterval (繰り返し)
const id = setInterval(() => {
console.log("every 1s");
}, 1000);
clearInterval(id); // 停止
// 同期的に待つ (ブロッキング、非推奨)
function sleepSync(ms) {
const start = Date.now();
while (Date.now() - start < ms) {}
// ブラウザがフリーズするので開発時のみ
}
Java
// Thread.sleep (ミリ秒)
try {
Thread.sleep(1000); // 1 秒
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
// TimeUnit
TimeUnit.SECONDS.sleep(1);
TimeUnit.MINUTES.sleep(5);
TimeUnit.MILLISECONDS.sleep(500);
// Java 9+ Duration
TimeUnit.MILLISECONDS.sleep(Duration.ofSeconds(1).toMillis());
// 非同期で遅延実行
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.schedule(() -> System.out.println("after 1s"), 1, TimeUnit.SECONDS);
executor.shutdown();
// CompletableFuture
CompletableFuture.runAsync(() -> System.out.println("Hello"))
.thenRunAsync(() -> System.out.println("After delay"),
CompletableFuture.delayedExecutor(1, TimeUnit.SECONDS));
Python
import time
# 同期 sleep (秒単位)
time.sleep(1) # 1 秒
time.sleep(0.5) # 0.5 秒
time.sleep(60) # 1 分
# 非同期 asyncio
import asyncio
async def main():
print("start")
await asyncio.sleep(1) # 1 秒
print("after 1s")
asyncio.run(main())
# threading でスケジュール
import threading
def delayed():
print("after 2s")
threading.Timer(2, delayed).start()
PHP
<?php
// 秒単位
sleep(1); // 1 秒
sleep(5);
// マイクロ秒単位 (1秒 = 1,000,000 マイクロ秒)
usleep(500000); // 0.5 秒
usleep(100); // 0.0001 秒
// ナノ秒精度 (PHP 7.1+)
time_nanosleep(0, 500000000); // 0.5 秒 (秒, ナノ秒)
// マイクロタイム待機
$end = microtime(true) + 1.5;
while (microtime(true) < $end) {
// ビジーループ (CPU 食う、非推奨)
}
シェル / Bash
# 秒単位
sleep 1
sleep 60 # 1 分
sleep 1h # 1 時間
sleep 30m # 30 分
# 小数も OK (GNU coreutils)
sleep 0.5
sleep 1.5
# Windows コマンドプロンプト
timeout /t 5
# PowerShell
Start-Sleep -Seconds 5
Start-Sleep -Milliseconds 500
Ruby
# 秒単位
sleep(1)
sleep(0.5)
# クラスメソッドとしても
Kernel.sleep(2)
C# / .NET
// 同期
Thread.Sleep(1000); // ミリ秒
Thread.Sleep(TimeSpan.FromSeconds(1));
// 非同期
await Task.Delay(1000);
await Task.Delay(TimeSpan.FromSeconds(1));
Go
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("start")
time.Sleep(time.Second)
time.Sleep(500 * time.Millisecond)
time.Sleep(2 * time.Minute)
fmt.Println("done")
}
典型的な用途
① リトライ間隔
// JS: 指数バックオフ
async function fetchWithRetry(url, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
const response = await fetch(url);
if (response.ok) return response;
} catch (e) {
// 失敗
}
const delayMs = Math.min(1000 * Math.pow(2, i), 30000); // 1s, 2s, 4s, 8s, ... max 30s
await new Promise(r => setTimeout(r, delayMs));
}
throw new Error("All retries failed");
}
② ポーリング
// Python: ジョブ完了を待機
import time
import requests
while True:
response = requests.get("/api/job/123/status").json()
if response["status"] == "completed":
print("Done")
break
elif response["status"] == "failed":
print("Failed")
break
time.sleep(2) # 2 秒ごとに確認
③ レート制限
// API 呼び出しを 1 秒に 1 回に制限
async function batchProcess(items) {
for (const item of items) {
await callApi(item);
await new Promise(r => setTimeout(r, 1000)); // 1 秒待つ
}
}
注意点
- 同期 sleep はブロッキング: スレッド・プロセスが完全停止する
- UI スレッド禁止: ブラウザ・GUI アプリで使うと固まる
- 非同期版を使う: 言語が対応していれば async / await 推奨
- InterruptedException: Java では sleep が割り込まれることがある
- 精度: ms 以下は OS 依存、ナノ秒精度は保証されない
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?