共用方式為


AbstractInterruptibleChannel 類別

定義

可中斷通道的基底實作類別。

[Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)]
public abstract class AbstractInterruptibleChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IInterruptibleChannel
[<Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)>]
type AbstractInterruptibleChannel = class
    inherit Object
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IInterruptibleChannel
繼承
AbstractInterruptibleChannel
衍生
屬性
實作

備註

可中斷通道的基底實作類別。

這個類別會封裝實作通道異步關閉和中斷所需的低階機械。 具體通道類別必須在 #begin begin 叫用 和 #end end 方法之前和之後,分別叫用可能會無限期封鎖的 I/O 作業。 為了確保 #end end 一律叫用 方法,這些方法應該在 try ... finally 塊:

<blockquote>

boolean completed = false;
            try {
                begin();
                completed = ...;    // Perform blocking I/O operation
                return ...;         // Return result
            } finally {
                end(completed);
            }

</blockquote>

completed方法的#end end自變數會指出 I/O 作業是否已實際完成,也就是說,它是否有任何作用,對叫用者來說是否可見。 例如,如果是讀取位元組的作業,則這個自變數應該是 true ,而且只有在某些位元組實際傳送到叫用者的目標緩衝區時。

具體通道類別也必須 #implCloseChannel implCloseChannel 實作 方法,如此一來,如果在通道上的原生 I/O 作業中封鎖另一個線程時叫用此方法,則該作業會藉由擲回例外狀況或正常傳回來立即傳回。 如果線程中斷或封鎖的通道以異步方式關閉,則通道的 #end end 方法會擲回適當的例外狀況。

這個類別會執行實作 java.nio.channels.Channel 規格所需的同步處理。 方法的實作 #implCloseChannel implCloseChannel 不需要與其他可能嘗試關閉通道的線程同步處理。

已在1.4中新增。

java.nio.channels.spi.AbstractInterruptibleChannelJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

AbstractInterruptibleChannel()

初始化這個類別的新執行個體。

AbstractInterruptibleChannel(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsOpen

如果這個通道已開啟,則傳回 true。

JniIdentityHashCode

可中斷通道的基底實作類別。

(繼承來源 Object)
JniPeerMembers

可中斷通道的基底實作類別。

PeerReference

可中斷通道的基底實作類別。

(繼承來源 Object)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

Begin()

標記可能會無限期封鎖的 I/O 作業開頭。

Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Close()

關閉此通道。

Dispose()

可中斷通道的基底實作類別。

(繼承來源 Object)
Dispose(Boolean)

可中斷通道的基底實作類別。

(繼承來源 Object)
End(Boolean)

標記可能會無限期封鎖的 I/O 作業結尾。

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
ImplCloseChannel()

關閉此通道。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

可中斷通道的基底實作類別。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

可中斷通道的基底實作類別。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

可中斷通道的基底實作類別。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

可中斷通道的基底實作類別。

(繼承來源 Object)
IJavaPeerable.Finalized()

可中斷通道的基底實作類別。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

可中斷通道的基底實作類別。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

可中斷通道的基底實作類別。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

可中斷通道的基底實作類別。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

可中斷通道的基底實作類別。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

可中斷通道的基底實作類別。

GetJniTypeName(IJavaPeerable)

可中斷通道的基底實作類別。

適用於