개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.19 07:49

SwooleTimer::clear 메서드 사용에 대한 도움을 요청합니다.

목록
  • SOLID원칙수호자 15일 전 2025.05.19 07:49
  • 25
    1
저는 SwooleTimer::clear 메서드를 사용하여 타이머를 삭제하고자 하는데, 아래와 같은 코드를 작성하였습니다.

php

$timer_id = SwooleTimer::tick(1000, function($timer_id) {

    echo "타이머가 실행되었습니다.n";

});



SwooleTimer::clear($timer_id);



이 코드에서는 타이머를 삭제하는 것을 성공적으로 수행하였습니다. 그러나, 이 메서드를 사용하여 삭제하고자 하는 타이머가 여러 개일 경우, 어떻게 삭제해야 하는지 알 수 없습니다.

이 메서드를 사용하여 삭제하고자 하는 타이머가 여러 개일 경우, 어떻게 삭제해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  15일 전



    SwooleTimer::clear 메서드를 사용하여 여러 개의 타이머를 삭제하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $timer_id1 = SwooleTimer::tick(1000, function($timer_id) {
    
        echo "타이머 1이 실행되었습니다.n";
    
    });
    
    
    
    $timer_id2 = SwooleTimer::tick(2000, function($timer_id) {
    
        echo "타이머 2가 실행되었습니다.n";
    
    });
    
    
    
    SwooleTimer::clear($timer_id1);
    
    SwooleTimer::clear($timer_id2);
    
    


    위의 코드에서, 두 개의 타이머를 삭제하려면 각각의 타이머 ID를 clear 메서드에 전달하여 삭제해야 합니다. 만약 타이머 ID가 여러 개일 경우, clear 메서드를 반복적으로 호출하여 삭제해야 합니다.

    또한, 타이머를 삭제하기 전에 clear 메서드를 호출하기 전에 timer_id를 배열에 저장하여 삭제할 타이머 ID를 관리할 수도 있습니다.

    #hostingforum.kr
    php
    
    $timer_ids = [];
    
    
    
    $timer_id1 = SwooleTimer::tick(1000, function($timer_id) use (&$timer_ids) {
    
        echo "타이머 1이 실행되었습니다.n";
    
        $timer_ids[] = $timer_id;
    
    });
    
    
    
    $timer_id2 = SwooleTimer::tick(2000, function($timer_id) use (&$timer_ids) {
    
        echo "타이머 2가 실행되었습니다.n";
    
        $timer_ids[] = $timer_id;
    
    });
    
    
    
    // 타이머 삭제
    
    foreach ($timer_ids as $timer_id) {
    
        SwooleTimer::clear($timer_id);
    
    }
    
    


    위의 코드에서, 타이머 ID를 배열에 저장하여 삭제할 타이머 ID를 관리하고, clear 메서드를 호출하여 삭제합니다.

    2025-05-19 07:50

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,742건 / 3 페이지

검색

게시물 검색