큐의 참조를 반환합니다.

다른 큐 동작 함수를 호출할 때 이 참조를 사용합니다.


icon

입력/출력

  • ci32.png 최대 큐 크기(-1,제한없음)

    최대 큐 크기는 큐가 가질수 있는 최대 원소의 개수입니다.

    기본은 -1이며 큐가 가질 수 있는 원소의 개수에 제한이 없음을 나타냅니다.

    큐가 최대 큐 크기에 도달하는 경우, [원소를 큐에 추가] 또는 [원소를 반대쪽 큐에 추가] 함수는 [원소를 큐에서 제거] 또는 [큐 비우기] 함수가 큐로부터 원소를 제거할 때까지 기다립니다.

    같은 이름을 가진 큐가 존재할 경우, LabVIEW는 이 입력을 무시하고 기존 큐의 크기를 사용합니다.

    노트 (Real-Time Module) 최대 큐 크기는 RT 타겟에서 실행될 때 지정된 개수의 원소를 스칼라 데이터 타입의 큐에 미리 할당합니다.
    노트 RT 타겟에서 실행되지 않을 경우, 최대 큐 크기는 큐에 있는 원소의 개수만 제한하며, 큐에 미리 할당하지는 않습니다. 큐에 대한 메모리를 미리 할당하려면, 이 개수의 원소를 큐에 추가하고 이후 큐를 비웁니다. 이 공간은 나중에 큐를 사용하기 위해 할당된채로 있습니다. 큐에 대한 메모리 할당에 대한 추가적인 정보는 상세설명 섹션을 참조하십시오.
  • cstr.png 이름(이름없음)

    이름은 얻거나 만들려는 큐의 이름을 포함합니다.

    기본은 이름없는 큐를 생성하기 위한 빈 문자열입니다.
  • cfxdt.png 원소 데이터 타입

    원소 데이터 타입은 큐에 포함하려는 데이터의 타입입니다.

    모든 데이터 타입을 이 입력에 연결할 수 있습니다.
  • cbool.png 발견되지 않으면 생성? (참)

    발견되지 않으면 생성?이름과 같은 이름을 가진 큐가 존재하지 않을 경우 새 큐를 생성할지 여부를 지정합니다.

    참(기본)인 경우, 같은 이름이 존재하지 않는다면 함수는 큐를 생성합니다.
  • cerrcodeclst.png 에러 입력(에러 없음)

    에러 입력은 이 노드의 실행 전에 발생한 에러 조건을 설명합니다. 이 입력은 표준 에러 입력 기능을 제공합니다.

  • iqueuern.png 큐 출력

    큐 출력은 기존의 큐 또는 이 함수에 의해 생성된 새 큐에 대한 참조입니다.

  • ibool.png 새로 생성?

    새로 생성?은 함수가 새 큐를 생성한 경우 참입니다.

  • ierrcodeclst.png 에러 출력

    에러 출력은 에러 정보를 포함합니다. 이 출력은 표준 에러 출력 기능을 제공합니다.

  • 경로, 문자열 및 배열과 같은 크기 조정 가능한 데이터 타입을 큐에 추가하거나 제거해도 큐가 사용하는 메모리는 영향을 받지 않습니다. 큐는 데이터를 전송하지만 데이터의 복사본을 생성하지 않습니다. 이미 꽉 찬 큐에 들어가기 위해 대기하는 원소가 정확성을 가지는 루프에서 지터를 발생시킬 것 같은 경우, 손실있는 원소 큐에 추가 함수를 사용하십시오.

    이름있는 큐를 사용하여 블록다이어그램의 두 섹션 또는 같은 어플리케이션 인스턴스의 두 VI 사이에 데이터를 전달합니다. 이름을 연결하지 않는 경우, 함수는 새 이름없는 큐 참조를 생성합니다. 이름을 연결할 경우, 함수는 같은 이름을 가진 기존의 큐를 찾고 기존 큐의 새 참조를 반환합니다. 같은 이름을 가진 큐가 아직 존재하지 않고 발견되지 않으면 생성?이 참인 경우, 함수는 새 이름있는 큐 참조를 생성합니다.

    [큐 얻기] 함수를 사용하여 루프 안에 이름있는 큐의 참조를 반환하는 경우, LabVIEW는 루프가 반복될 때마다 이름있는 큐의 새로운 참조를 생성합니다. 루프 안에서 [큐 얻기]를 사용하는 경우, 각 참조는 추가적으로 4 바이트를 사용하기 때문에 LabVIEW가 사용하는 메모리의 양이 천천히 증가합니다. VI 실행을 정지하면 자동적으로 이러한 바이트 사용이 해제됩니다. 하지만, 장기간 실행되는 어플리케이션에서는 메모리 사용량이 지속적으로 증가하기 때문에 LabVIEW가 메모리를 유출하는 것처럼 보일 수 있습니다. 의도하지 않은 메모리 할당을 방지하려면, 루프 안에 [큐 해제] 함수를 사용하여 각 반복마다 큐 참조를 해제하십시오.

    이 함수는 에러 코드 1, 2, 1094, 1100, 1491, 또는 1548을 반환할 수 있습니다.

    노트

    큐나 이름있는 큐는 어플리케이션 인스턴스 사이의 통신에서는 사용할 수 없습니다. 다른 어플리케이션 인스턴스에서 이름있는 큐와 통신을 시도하는 경우, LabVIEW는 에러를 반환하지 않지만 기대했던 결과를 얻지 못할 수도 있습니다.

    하나의 어플리케이션 인스턴스에서 큐 참조를 얻으면 다른 어플리케이션 인스턴스에서 같은 큐 참조를 사용할 수 없습니다. 다른 어플리케이션 인스턴스에서 큐 참조를 사용하려고 할 경우, LabVIEW가 에러 1491를 반환합니다.

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

    • labview\examples\Synchronization\Queue\Queue Overflow and Underflow.vi