ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?