라이브러리

[PHP] Threaded::wait - 동기화




PHP에서 Threaded::wait


PHP에서 Threaded::wait는 쓰레드가 종료될 때까지 대기하는 메서드입니다. 쓰레드가 종료되면 wait 메서드는 종료되며, 쓰레드가 종료되지 않으면 wait 메서드는 종료되지 않습니다.

쓰레드 생성과 wait 메서드 사용


PHP 7.4부터 쓰레드 기능이 지원되며, 쓰레드는 Threaded 클래스를 사용하여 생성할 수 있습니다.

#hostingforum.kr
php

use Threaded;



class MyThread extends Threaded {

    public function run() {

        echo "쓰레드가 시작되었습니다.
";

        sleep(2); // 2초 대기

        echo "쓰레드가 종료되었습니다.
";

    }

}



$thread = new MyThread();

$thread->start();



// 쓰레드가 종료될 때까지 대기

$thread->wait();



위 예제에서, 쓰레드가 시작되면 2초 동안 대기한 후 종료됩니다. 쓰레드가 종료되면 wait 메서드는 종료됩니다.

쓰레드 종료 확인


쓰레드가 종료되었는지 확인하기 위해 isFinished 메서드를 사용할 수 있습니다.

#hostingforum.kr
php

use Threaded;



class MyThread extends Threaded {

    public function run() {

        echo "쓰레드가 시작되었습니다.
";

        sleep(2); // 2초 대기

        echo "쓰레드가 종료되었습니다.
";

    }

}



$thread = new MyThread();

$thread->start();



// 쓰레드가 종료될 때까지 대기

$thread->wait();



// 쓰레드가 종료되었는지 확인

if ($thread->isFinished()) {

    echo "쓰레드가 종료되었습니다.
";

} else {

    echo "쓰레드가 종료되지 않았습니다.
";

}



위 예제에서, 쓰레드가 종료되면 isFinished 메서드는 true를 반환합니다.

쓰레드 종료 시점에 작업 수행


쓰레드가 종료되면 특정 작업을 수행하고 싶을 때, run 메서드 내에서 작업을 수행할 수 있습니다.

#hostingforum.kr
php

use Threaded;



class MyThread extends Threaded {

    public function run() {

        echo "쓰레드가 시작되었습니다.
";

        sleep(2); // 2초 대기

        echo "쓰레드가 종료되었습니다.
";

        // 쓰레드 종료 시점에 작업 수행

        echo "쓰레드 종료 시점에 작업을 수행합니다.
";

    }

}



$thread = new MyThread();

$thread->start();



// 쓰레드가 종료될 때까지 대기

$thread->wait();



위 예제에서, 쓰레드가 종료되면 "쓰레드 종료 시점에 작업을 수행합니다."라는 메시지가 출력됩니다.

결론


PHP에서 Threaded::wait 메서드는 쓰레드가 종료될 때까지 대기하는 메서드입니다. 쓰레드가 종료되면 wait 메서드는 종료되며, 쓰레드가 종료되지 않으면 wait 메서드는 종료되지 않습니다. 쓰레드 종료 확인 및 쓰레드 종료 시점에 작업 수행을 위해 isFinished 메서드와 run 메서드를 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 152 페이지

검색

게시물 검색