C#线程参考手册


C#线程参考手册 pdf 照书上打的代码。部分可用 C#线程参考手册 pdf 照书上打的代码。部分可用 C#线程参考手册 pdf 照书上打的代码。部分可用
资源截图
代码片段和文件信息
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace BookLib
{
    internal interface IBookCollection
    {
        void Clear();
        void Add(Book n);
        Book GetBook(string ISBN);
        bool IsSynchronized { get; }
        object SyncRoot { get; }

    }

    public class Book
    {
        public string Name;
        public string ISBN;
        public string Author;
        public string Publisher;
    }

     class BookLib : IBookCollection
     {
         internal Hashtable bk = new Hashtable(10);
         public virtual void Clear()
         {
             this.bk.Clear();
         }

         public virtual void Add(Book n)
         {
             Console.WriteLine(“adding book for threadid: “ + Thread.CurrentThread.GetHashCode() + “ ISBN“ + n.ISBN);
             Thread.Sleep(2000);
             bk.Add(n.ISBN n);
         }

         public virtual Book GetBook(string ISBN)
         {
             Console.WriteLine(“getting book for threadid: “ + Thread.CurrentThread.GetHashCode());
             return (Book) bk[ISBN];
         }

         public virtual bool IsSynchronized
         {
             get { return (false); }
         }

         public virtual object SyncRoot
         {
             get { return (this); }
         }

         public BookLib Synchronized()
         {
             return Synchronized(this);
         }
         public static BookLib Synchronized(BookLib bc)
         {
             if (bc == null)
             {
                 throw new ArgumentNullException(“bc“);
             }
             if (bc.GetType() == typeof (SyncBookLib))
             {
                 throw new InvalidOperationException(“BookLib reference is already synchronized.“);
             }
             return new SyncBookLib(bc);
         }
         public static IBookCollection Synchronized(IBookCollection acc)
         {
             if (acc == null)
             {
                 throw new ArgumentNullException(“acc“);
             }
             if (acc.GetType() == typeof(SyncBookLib))
             {
                 throw new InvalidOperationException(“BookLib reference is already synchronized.“);
             }
             return new SyncBookLib(acc);
         }
     }

    internal sealed class SyncBookLib : BookLib
    {
        private object syncRoot;
        private object booklib;

        internal SyncBookLib(IBookCollection acc)
        {
            booklib = acc;
            syncRoot = acc.SyncRoot;
        }

        public override void Clear()
        {
            lock (syncRoot)
            {
                base.Clear();
            }
        }

        public override void Add(Book n)
        {
            lock (syncRoot)
            {
                base.Add(n);
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    6286308  2016-04-13 14:02  threadC#线程参考手册.pdf

     文件        187  2016-03-31 15:33  threadcodeBookLibApp.config

     文件       8192  2016-03-31 17:14  threadcodeBookLibinDebugBookLib.exe

     文件        187  2016-03-31 15:33  threadcodeBookLibinDebugBookLib.exe.config

     文件      19968  2016-03-31 17:14  threadcodeBookLibinDebugBookLib.pdb

     文件      23168  2016-03-31 17:14  threadcodeBookLibinDebugBookLib.vshost.exe

     文件        187  2016-03-31 15:33  threadcodeBookLibinDebugBookLib.vshost.exe.config

     文件        490  2013-03-18 17:00  threadcodeBookLibinDebugBookLib.vshost.exe.manifest

     文件       2556  2016-03-31 15:33  threadcodeBookLibBookLib.csproj

     文件        247  2016-03-31 17:14  threadcodeBookLibobjDebugBookLib.csproj.FileListAbsolute.txt

     文件       8192  2016-03-31 17:14  threadcodeBookLibobjDebugBookLib.exe

     文件      19968  2016-03-31 17:14  threadcodeBookLibobjDebugBookLib.pdb

     文件        725  2016-04-08 16:40  threadcodeBookLibobjDebugDesignTimeResolveAssemblyReferences.cache

     文件       6589  2016-04-13 14:58  threadcodeBookLibobjDebugDesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2016-03-31 15:33  threadcodeBookLibobjDebugTemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2016-03-31 15:33  threadcodeBookLibobjDebugTemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2016-03-31 15:33  threadcodeBookLibobjDebugTemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       4934  2016-03-31 17:14  threadcodeBookLibProgram.cs

     文件       1356  2016-03-31 15:33  threadcodeBookLibPropertiesAssemblyInfo.cs

     文件        187  2016-04-01 14:25  threadcodeCalculateApp.config

     文件       6656  2016-04-05 16:44  threadcodeCalculateinDebugCalculate.exe

     文件        187  2016-04-01 14:25  threadcodeCalculateinDebugCalculate.exe.config

     文件      17920  2016-04-05 16:44  threadcodeCalculateinDebugCalculate.pdb

     文件      23168  2016-04-06 11:20  threadcodeCalculateinDebugCalculate.vshost.exe

     文件        187  2016-04-01 14:25  threadcodeCalculateinDebugCalculate.vshost.exe.config

     文件        490  2013-03-18 17:00  threadcodeCalculateinDebugCalculate.vshost.exe.manifest

     文件       2560  2016-04-01 14:25  threadcodeCalculateCalculate.csproj

     文件        352  2016-04-06 11:20  threadcodeCalculateobjDebugCalculate.csproj.FileListAbsolute.txt

     文件       1755  2016-04-05 16:17  threadcodeCalculateobjDebugCalculate.csprojResolveAssemblyReference.cache

     文件       6656  2016-04-05 16:44  threadcodeCalculateobjDebugCalculate.exe

............此处省略1291个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)