本文整理汇总了C#中AtomicReference.Set方法的典型用法代码示例。如果您正苦于以下问题:C# AtomicReference.Set方法的具体用法?C# AtomicReference.Set怎么用?C# AtomicReference.Set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AtomicReference
的用法示例。
在下文中一共展示了AtomicReference.Set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ObjectDirectory
/// <summary>Initialize a reference to an on-disk object directory.</summary>
/// <remarks>Initialize a reference to an on-disk object directory.</remarks>
/// <param name="cfg">configuration this directory consults for write settings.</param>
/// <param name="dir">the location of the <code>objects</code> directory.</param>
/// <param name="alternatePaths">a list of alternate object directories</param>
/// <param name="fs">
/// the file system abstraction which will be necessary to perform
/// certain file system operations.
/// </param>
/// <exception cref="System.IO.IOException">an alternate object cannot be opened.</exception>
public ObjectDirectory(Config cfg, FilePath dir, FilePath[] alternatePaths, FS fs
)
{
config = cfg;
objects = dir;
infoDirectory = new FilePath(objects, "info");
packDirectory = new FilePath(objects, "pack");
alternatesFile = new FilePath(infoDirectory, "alternates");
cachedPacksFile = new FilePath(infoDirectory, "cached-packs");
packList = new AtomicReference<ObjectDirectory.PackList>(NO_PACKS);
cachedPacks = new AtomicReference<ObjectDirectory.CachedPackList>();
unpackedObjectCache = new UnpackedObjectCache();
this.fs = fs;
alternates = new AtomicReference<FileObjectDatabase.AlternateHandle[]>();
if (alternatePaths != null)
{
FileObjectDatabase.AlternateHandle[] alt;
alt = new FileObjectDatabase.AlternateHandle[alternatePaths.Length];
for (int i = 0; i < alternatePaths.Length; i++)
{
alt[i] = OpenAlternate(alternatePaths[i]);
}
alternates.Set(alt);
}
}