当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET GC.WaitForPendingFinalizers方法代码示例

本文整理汇总了VB.NET中System.GC.WaitForPendingFinalizers方法的典型用法代码示例。如果您正苦于以下问题:VB.NET GC.WaitForPendingFinalizers方法的具体用法?VB.NET GC.WaitForPendingFinalizers怎么用?VB.NET GC.WaitForPendingFinalizers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.GC的用法示例。


在下文中一共展示了GC.WaitForPendingFinalizers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。

示例1: Main

Namespace WaitForPendingFinalizersExample
   Class MyWaitForPendingFinalizersClass
  
    ' You can increase this number to fill up more memory.
      Private Const numMfos As Integer = 1000
      ' You can increase this number to cause more
      ' post-finalization work to be done.
      Private Const maxIterations As Integer = 100
     
      Overloads Shared Sub Main()
         Dim mfo As MyFinalizeObject = Nothing
      
         ' Create and release a large number of objects
         ' that require finalization.
         Dim j As Integer
         For j = 0 To numMfos - 1
            mfo = New MyFinalizeObject()
         Next j
      
         'Release the last object created in the loop.
         mfo = Nothing
      
         'Force garbage collection.
         GC.Collect()
      
         ' Wait for all finalizers to complete before continuing.
         ' Without this call to GC.WaitForPendingFinalizers, 
         ' the worker loop below might execute at the same time 
         ' as the finalizers.
         ' With this call, the worker loop executes only after
         ' all finalizers have been called.
         GC.WaitForPendingFinalizers()
      
         ' Worker loop to perform post-finalization code.
         Dim i As Integer
         For i = 0 To maxIterations - 1
            Console.WriteLine("Doing some post-finalize work")
         Next i
      End Sub
   End Class


   Class MyFinalizeObject
      ' Make this number very large to cause the finalizer to
      ' do more work.
      Private maxIterations As Integer = 10000
      
      Protected Overrides Sub Finalize()
         Console.WriteLine("Finalizing a MyFinalizeObject")
      
         ' Do some work.
         Dim i As Integer
         For i = 0 To maxIterations - 1
            ' This method performs no operation on i, but prevents 
            ' the JIT compiler from optimizing away the code inside 
            ' the loop.
            GC.KeepAlive(i)
         Next i
         MyBase.Finalize()
      End Sub
   End Class
End Namespace
开发者ID:VB.NET开发者,项目名称:System,代码行数:62,代码来源:GC.WaitForPendingFinalizers

示例2: GC.WaitForPendingFinalizers()

' 导入命名空间
Imports System
Imports System.Text
Imports System.Text.RegularExpressions


Public Class MainClass
    Shared Sub Main(  )
    Dim myObject As Object = New Object()
    Dim i As Integer

    For i = 0 To 3
      Console.WriteLine(String.Format("Generation = {0}", _
                        GC.GetGeneration(myObject)))
      GC.Collect()
      GC.WaitForPendingFinalizers()
    Next i

    End Sub 'Main

   
End Class
开发者ID:VB程序员,项目名称:System,代码行数:22,代码来源:GC.WaitForPendingFinalizers


注:本文中的System.GC.WaitForPendingFinalizers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。