Joins(통화 라이브러리
Joins (concurrency library)Joins는 Microsoft Research의 for 비동기 동시 컴퓨팅 API(Join-pattern)입니다.NET 프레임워크이는 join 미적분을 기반으로 하며 C' 언어의 동시성 구성을 CLI 어셈블리로 사용할 수 있도록 합니다.
개요
조인(join)은 조인 패턴을 사용하여 응용 프로그램에서 동시성을 표현하기 위해 사용할 수 있으며, 멀티 스레드 응용 프로그램뿐만 아니라 이벤트 기반 분산 응용 프로그램에서도 사용할 수 있습니다.Joins API는 동기 패턴의 선언형 안전식을 에뮬레이트합니다.
Joins 라이브러리는 비동기 및 동기 메서드를 에뮬레이트합니다.비동기 방식(C' 및 Joins)은 발신자 방식을 차단하지 않고 결과를 반환하지 않지만 동기 방식에서는 발신자 방식을 차단합니다.Joins API에서는 동기 메서드 및 비동기 메서드가 일반 위임으로 구현됩니다.제네릭의 사용은 타입의 안전을 제공합니다.예를 들어 다음과 같이 동기 및 비동기 메서드 세트를 만들고 이를 사용하여 패턴을 구현하는 개체를 만들 수 있습니다.
일반의 학급 참가 데모 { 일반의 읽기 전용 비동기.채널.< >인트> 큐; 일반의 읽기 전용 비동기.채널.< >스트링> 보내세요; 일반의 읽기 전용 동기< >인트> 。채널. 취득; 사적인 합류하다 join 패턴 = 합류하다.만들다(); 일반의 참가 데모() { join 패턴.초기화(나가. 큐); join 패턴.초기화(나가. 보내세요); join 패턴.초기화(나가. 취득); } }
비동기 메서드가 호출되면 파라미터는 Joins 런타임에 의해 관리되는 큐인 채널에 배치됩니다.메서드는 필요에 따라 새 스레드를 시작하여 백그라운드에서 매개 변수를 처리하고 결과를 반환할 수 있습니다.대응하는 동기 메서드가 호출되면 파라미터가 반환되어 처리됩니다.동기 메서드가 호출되었을 때 큐에 파라미터가 존재하지 않으면 발신자는 정지합니다.Joins 런타임은 파라미터가 준비되었는지 여부에 따라 반환되는 파라미터를 스케줄링합니다.
메서드의 동기화 패턴은 일련의 채널이 호출되었을 때 발생하는 동작을 나타내는 join 패턴에 의해 정의됩니다.예를 들어 Send와 Retrieve가 함께 호출될 때 발생하는 작업은 Send와 Queue와는 다를 수 있습니다.
일반의 무효 SetPatterns(설정 패턴)() { 합류하다.언제(보내세요).그리고.(취득).하다(s => s); 합류하다.언제(큐).그리고.(취득).하다(n => n.ToString(ToString)()); 합류하다.언제(보내세요).그리고.(큐).그리고.(취득).하다(s => { 보내세요(s); 돌아가다 취득(); }); }
레퍼런스
외부 링크