LabVIEW는 얼마나 많은 Thread를 할당 가능합니까?
주요한 소프트웨어: LabVIEW Development Systems>>LabVIEW Full Development System
주요한 소프트웨어 버전: 7.1
문제가 해결된 소프트웨어 버전: N/A
부차적인 소프트웨어: N/A
문제점: LabVIEW는 얼마나 많은 Thread를 할당 가능합니까?
솔루션: LabVIEW에서는 Thread를 다이나믹하게 설정하고, 그러므로 이 질문에 대해서는 명확한 답은 존재하지 않습니다. LabVIEW에서는 Thread를 할당하는 몇가지 다른 방법이 존재합니다.
- 사용자 인터페이스 Thread는 화면을 표시하거나 키보드/마우스의 입력에서 사용됩니다. 이 Thread는 속성 노드나 CINs 또는 DLL실행같은 VI 실행에서도 사용됩니다.
- Pair of Timer Thread는 LabVIEW에서 내부적으로 사용됩니다. (Windows 95/NT 의 경우는 내부적으로 1개의 추가적인 Thread를 할당합니다.)
- 20개의 실행 Thread (1개의 CPU마다 적용됩니다.) 는 추가 내용을 확인하시기 바랍니다.
- Windows 95/NT는 LabVIEW 를 컨트롤 하기 위한 사용자 인터페이스 ActiveX를 사용할때 다이나믹하게 Thread를 할당합니다.
그러므로 단일 코어의 프로세서 시스템에서는 어플리케이션이 실행될때 23 또는 24 개의 Thread가 할당이 됩니다. 만약 VI를 실행시키는 동안 ActiveX 사용자 인터페이스를 사용한다면 더 많은 Thread가 할당 될 것입니다.
실행 Thread 추가 내용:
LabVIEW는 5개의 "실행 시스템"을 갖고 있으며, 각각의 실행 시스템은 일반수준의 우선권을 갖는 4개의 Thread를 할당합니다. 이는 사용자 인터페이스를 제외한 20개의 실행 Thread를 갖는다는 뜻입니다. 이 Thread는 사용자 컴퓨터에 프로세서가 몇개인지에 기초해서 산출되며, 만약 듀얼코어의 프로세서의 경우 20개이상의 Thread를 할당할 수 있다는 얘기가 됩니다.
우선권에 대한 추가 내용:
서브루틴 VI들은 언제나 호출자의 실행 시스템을 사용합니다. "Background 수준 우선권"을 갖는 경우 일반적으로 Thread를 할당하지 않습니다. VI는 이보다 높은 수준의 우선권을 가진 Thread가 모두 실행된 다음에 Background 수준의 우선권을 가진 VI를 실행 합니다.
고급 사용자는 아래 링크의 VI를 이용하여 Thread할당 설정을 변경할 수 있습니다.
vi.lib\Utility\sysinfo.llb\threadconfig.vi.
관련 링크: KnowledgeBase 3S8R6A: Does Running with Multiple Threads Have Any Effect on Other Applications?Developer Zone Tutorial: Using LabVIEW to Create Multithreaded DAQ ApplicationsKnowledgeBase 3S8R9F: Why would I turn multithreading off?
첨부:
리포트 날짜: 03/03/1998
마지막 업데이트: 11/23/2014
문서 번호: DIRECT-3S8R8M
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.