ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
シェル / 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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?