라이브러리
[PHP] Thread::getThreadId - 식별
PHP에서 Thread::getThreadId
PHP는 기본적으로 싱글 스레드 프로그래밍 언어로, 멀티 스레딩을 지원하지 않습니다. 하지만, PHP 7.4부터는 Thread 클래스를 통해 멀티 스레딩을 지원할 수 있습니다.
Thread::getThreadId는 현재 실행 중인 스레드의 ID를 반환하는 메소드입니다. 이 메소드는 Thread 클래스의 인스턴스에서 호출할 수 있으며, 스레드 ID를 얻을 수 있습니다.
예제
#hostingforum.kr
php
<?php
class MyThread extends Thread {
public function run() {
echo "스레드 ID: " . Thread::getThreadId() . "
";
}
}
$thread = new MyThread();
$thread->start();
$thread->join();
echo "메인 스레드 ID: " . Thread::getThreadId() . "
";
이 예제에서, MyThread 클래스는 Thread 클래스를 상속받은 스레드 클래스입니다. run() 메소드는 스레드가 실행할 코드를 포함하고 있습니다. Thread::getThreadId() 메소드를 호출하여 현재 스레드의 ID를 얻습니다.
main 스레드와 MyThread 스레드는 각각 스레드 ID를 출력합니다.
결과
#hostingforum.kr
스레드 ID: 1
메인 스레드 ID: 2
주의사항
* PHP 7.4 이상에서만 사용할 수 있습니다.
* 스레드 ID는 운영체제에 따라 달라질 수 있습니다.
* 스레드 ID는 스레드가 시작되면 할당되며, 스레드가 종료되면 해제됩니다.
추가 예제
#hostingforum.kr
php
<?php
class MyThread extends Thread {
public $id;
public function __construct($id) {
$this->id = $id;
}
public function run() {
echo "스레드 ID: " . $this->id . "
";
}
}
$threads = [];
for ($i = 0; $i < 5; $i++) {
$thread = new MyThread($i);
$thread->start();
$threads[] = $thread;
}
foreach ($threads as $thread) {
$thread->join();
}
이 예제에서는 5개의 스레드를 생성하고, 각 스레드의 ID를 출력합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.