라이브러리

[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를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 85 페이지

검색

게시물 검색