>  Q&A  >  본문

javascript - 무한 루프를 사용할 수 있나요? 아니면 우리는 실제로 끝없는 순환의 세상에 살고 있습니까?

사실 이 질문은 다음 질문과 관련이 있습니다: PHP에서 예정된 알림 및 릴리스를 제 시간에 수행하는 방법은 무엇입니까?

예전에는 선생님들이 코드를 작성할 때 절대 무한 루프를 작성해서는 안 된다고 항상 말씀하셨는데, 이것이 가장 큰 버그입니다. 이 개념은 항상 제 마음 속에 깊이 뿌리박혀 있어서, 온갖 무한 루프를 보면 온갖 느낌이 듭니다. 경멸과 얽매임.

하지만 실제로는 많은 것들이 무한 루프를 사용한다는 것을 알았습니다.

  1. php-resque 안에 무한 루프가 있습니다. 보자마자 감정이 상했습니다

  2. 브라우저의 작동 원리를 살펴보면 JS 이벤트 루프는 실제로 무한 루프이고 커널 코드 C++는 무한 루프인 것 같습니다

무한 루프 속에 얼마나 많은 것들이 있는지 모르겠어요

우리 컴퓨터가 켜진 이후로 무한 루프 상태에 있었다는 것이 사실인가요? CPU가 단지 무한 루프에서 작동하는 것인가요? 이것을 명확히 할 수 있도록 도와주세요. 무한 루프가 없으면 웹 사이트를 방문하는 사람이 없으면 실제로 코드가 종료됩니다. 어떤 이벤트/신호가 콜백을 트리거하며 어떻게 구현됩니까? 또한 무한 루프입니까?

우리 인간은 끊임없이 정보를 받고 피드백을 주는 끝없는 순환을 하고 있는 것인지도 모릅니다. 그렇지 않으면 전화를 걸면 바로 대답할 수 있다면 정말로 당신이 나에게 전화할 능력이 있다고 생각하시나요? 뒤쪽에? 재미있는! 난 듣고 있었어, 알았지?

하나님께서 혼란을 해결해주시길 바랍니다 ^_^

추가됨:

이 정보를 읽으면서 다음 단어를 자주 보았습니다.

libevent
libev
PCNTL
EventLoop
timerfd
epoll
kqueue
select
poll

어떤 정보를 읽어야 하는지, 어떤 책을 읽어야 하는지 마스터에게 물어보세요. "Linux/UNIX 네트워크 프로그래밍"

감사합니다!

高洛峰高洛峰2719일 전848

모든 응답(6)나는 대답할 것이다

  • 迷茫

    迷茫2017-05-31 10:36:05

    우리 컴퓨터가 켜진 이후로 계속 무한 루프에 빠졌던 걸까요? CPU가 그냥 무한 루프에 돌고 있는 걸까요?

    지속적인 작업은 끝없는 루프입니까? OS는 CPU 실행 시간을 분할하여 이를 다른 프로세스에 할당합니다. 때때로 OS는 제어권을 되찾은 다음 다시 보내며 주기가 계속됩니다.

    하지만 이 루프는 종료되지 않았습니다. 关机를 클릭하여 루프를 종료할 수 있습니다.


    어떤 이벤트/신호가 콜백을 트리거하나요? 어떻게 구현되나요? 또한 무한 루프인가요?

    그렇습니다. Eventloop에는 지속적인 모니터링이 필요하며 이를 통해서만 달성할 수 있습니다. 우리가 보는 것은 事件发生 => 执行回调 자연스러운 일이며 추상적인 것입니다.

    하지만 죽지는 않았습니다. 브라우저를 닫아 이 주기를 종료할 수 있습니다.


    우리 인간은 끊임없이 정보를 받고 피드백을 주는 끝없는 순환을 하고 있는 것이 아닐까요. 그렇지 않으면 전화를 걸어 바로 대답할 수 있다면 정말 당신이 나에게 전화할 능력이 있다고 생각하시나요? 뒤쪽에? 재미있는! 난 듣고 있었어, 알았지?

    사람은 무한 루프라기보다는 상태 머신(FSM)에 더 가까운 것 같아요.

    입력에 따라 상태를 변경하여 값을 출력합니다(사람의 대화)

    인간의 뇌는 명령을 순차적으로 실행하는지 모르겠지만 운전, 요리, 듣기, 말하기, 다양한 언어의 읽기, 쓰기 등 경계가 모호한 일을 처리할 수 있습니다. 다른 점을 생각해 보십시오. 즉, 인터럽트 신호가 많고 언제든지 금지될 수 있기 때문에 무한 루프 같은 것이 없을 수도 있습니다.


    어떤 정보와 책을 읽어야할지 알려주세요

    컴퓨터 구성과 운영체제의 원리와 구현을 함께 살펴보는 것은 어떨까요?

    회신하다
    0
  • PHPz

    PHPz2017-05-31 10:36:05

    "Ruby Metaprogramming"에 나오는 문장이 너무 좋은 것 같아서 여기에 올려도 좋을 것 같아요

    메타 프로그래밍은 전혀 없으며 항상 프로그래밍만 있었습니다.

    무한 루프도 마찬가지라고 생각합니다. 더 나은 해결책이 없을 때는 문제를 해결하는 것이 중요합니다. 마찬가지로 중요한 점은 무한 루프가 전혀 없으며 항상 루프만 있다는 것입니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-31 10:36:05

    무한 루프를 사용할 수 있나요?

    무한 루프 != 무한 루프 != 빈 루프

    무한 루프는 버그이므로 중단을 유발합니다.
    무한 루프(예: 이벤트 루프)
    빈 루프(예: 스핀 대기)


    아니면 우리는 실제로 끝없는 순환의 세계에 살고 있는 걸까요?

    사실 이 사이클에서 벗어나려면 자살할 수도 있습니다

    설명하지 마세요
    제멋대로 생각하지 마세요. 쓸데없는 철학 얘기를 하는 건 아주 중산층의 행동입니다
    민속철학자가 되지 마세요

    회신하다
    0
  • 黄舟

    黄舟2017-05-31 10:36:05

    마이크로컨트롤러 코드를 작성해 본 적이 있나요?
    동안입니다(1)
    전원을 끄거나 인터럽트로 종료
    워치독도 있습니다

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-31 10:36:05

    운영 체제를 무한 루프로 생각하면 됩니다

    이 질문은 너무 거창하고 설명하기 어렵습니다

    하지만 프로그래밍을 배울 때는 불필요한 무한 루프를 피하려고 노력해야 합니다. 절차에는 시작과 끝이 있고 생각이 명확하면 가장 좋습니다.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-05-31 10:36:05

    무한 루프보다는 메타 루프도 다른 루프와 마찬가지로 시작과 끝이 있다고 말하는 것이 더 좋지만, 다른 루프는 한 번 지나가면 메타 루프의 한 부분이 됩니다. 무한 루프가 지나면 원래 지점으로 돌아갑니다.

    회신하다
    0
  • 취소회신하다