Joins(통화 라이브러리

Joins (concurrency library)

JoinsMicrosoft 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);                                                     돌아가다 취득();                                                 }); } 

레퍼런스

외부 링크