C# 클래스 SuperMap.WindowsPhone.Mapping.ExecutantPool

最终请求图片的地方,通过SemaphoreSlim限制同时请求的数量,当打到上限后,阻塞线程。 设置缓冲区,可以缓村需要请求图片的Tile。
파일 보기 프로젝트 열기: SuperMap/iClient-for-Win8 1 사용 예제들

공개 메소드들

메소드 설명
AddTiles ( IList tiles ) : void

向线程池中加入待请求的tile。此tile会先进入队列中进行等待,直到有空闲的线程,才会开始请求。

CancelByLayerId ( string layerId ) : void

通过图层id清除正在请求的Tile,此处设计不太合理,下回修改吧……

Clear ( string id ) : void

从队列中移除掉指定图层的Tile。 逻辑还不太清晰,与CancelByLayerId的关系。

ExecutantPool ( int count ) : System
IsDownloading ( string key ) : bool
Register ( string id ) : void
Unregiest ( string id ) : void

비공개 메소드들

메소드 설명
DownloadImage ( Tile tile ) : Task

开始请求图片

OnDownloadImageCompleted ( Tile tile ) : void
Start ( ) : void

从队列中获取Tile,并请求图片。

메소드 상세

AddTiles() 공개 메소드

向线程池中加入待请求的tile。此tile会先进入队列中进行等待,直到有空闲的线程,才会开始请求。
public AddTiles ( IList tiles ) : void
tiles IList
리턴 void

CancelByLayerId() 공개 메소드

通过图层id清除正在请求的Tile,此处设计不太合理,下回修改吧……
public CancelByLayerId ( string layerId ) : void
layerId string
리턴 void

Clear() 공개 메소드

从队列中移除掉指定图层的Tile。 逻辑还不太清晰,与CancelByLayerId的关系。
public Clear ( string id ) : void
id string
리턴 void

ExecutantPool() 공개 메소드

public ExecutantPool ( int count ) : System
count int
리턴 System

IsDownloading() 공개 메소드

public IsDownloading ( string key ) : bool
key string
리턴 bool

Register() 공개 메소드

public Register ( string id ) : void
id string
리턴 void

Unregiest() 공개 메소드

public Unregiest ( string id ) : void
id string
리턴 void