سلام بر برنامه نویسان عزیز 😉 در این مطلب سورس کد Cache و اشتراک داده بین پروسسها به زبان سی شارپ را آماده کردم. انشاالله که این سورس کد براتون مفید باشه.
- عنوان سورس کد : Cache و اشتراک داده میان پروسس ها در c#.net
- id مطلب :23466740
- تاریخ منتشر شدن پست : 8 آبان 96 ساعت 13 و 12دقیقه
- نوع مطلب :مطلب ویژه برای کاربران vip
- حجم فایل: چهارصد و هفتاد و پنج کیلوبایت
- فرمت فایل: zip
- تگ ها: System.Threading.Mutex | MemoryMappedFile
- در صورت وجود هر گونه مشکل یا نقصی در این پروژه ، میتوانید با ارسال شماره کارت تان و اعلام مشکل موجود در پروژه ، مبلغ پرداختی خود برای عضویت vip را پس بگیرید و همچنین 2 ماه عضویت vip هدیه بگیرید.
تعدادی از فایلهای درون فایل فشرده پروژه:فولدرها:
- AssemblyInfo.cs
- Data.cs
- stressDLL.csproj
- stressDLL.csproj.user
- AssemblyInfo.cs
- DevCache.cs
- DevNetGlobalCache.csproj
- DevNetGlobalCache.csproj.user
- DevNetGlobalCache.sln
- FileMap.cs
- App.ico
- AssemblyInfo.cs
- cacheDemo.csproj
- cacheDemo.csproj.user
- cacheDemo.sln
- Form1.cs
- Form1.resx
- words.txt
- cacheDemo
- devnetcache
- stressDLL
تصاویر مربوط به این پروژه :
یک 1 نظر
ali
…
با استفاده از ترجمه ماشینی:
مقدمه
در روزهای halcyon معماری COM رایجترین روش برای تقسیم دادهها بین فرایندها استفاده از کلاس CDM بود . هدف CDM که در فضای حافظه خود اجرا میشود ، حفظ دادهها با کد فرآیند است . این دادهها را می توان بین تمام اشیا COM ایجاد کرد که از کلاسهای CDM ایجاد شدهاند .
روش فوق توسط بسیاری از مشتریان من به تصویب رسید وقتی که آنها نیاز به جمعآوری اطلاعات بدون تغییر ( برای مثال ، فهرستی از شهرها ) داشتند .
اما وقتی . NET آزاد شد , مشتریان من و من به دنبال راهی برای دستیابی به اطلاعات بدون تغییر و بدون تغییر بودند . شهود ما نشان داد که ما دنبال چیزی هستیم . کلاس EXE خالص ، اما متاسفانه ، پیدا نشد . آنچه ما کشف کردیم این بود که ما میتوانیم یک کلاس EXE ایجاد کنیم و آن را با remoting ارتباط دهیم . با این حال ، وقتی این رویکرد را آزمایش کردیم ، به یک شکست عملکرد وارد شدیم . بررسی عمیقتر این مساله نشان داد که باز کردن یک درگاه TCP و از محل کلاینت بسیار کنداست . علاوه بر این ، مشکل بیشتری در مورد روش remoting وجود داشت که نیاز داشت شنونده ثابتی را حفظ کند ( که به درگاه سرور گوش میداد ) تا درخواست مشتری را دریافت کند . این کار حتی پیچیدهتر هم شد .
۸kX@
با توجه به این موضوع ، واضح است که کار زیرساخت ضروری است . ما باید مکانیزمی ایجاد کنیم که ما را قادر سازد تا اطلاعات بین فرایندها را به موقع به اشتراک بگذاریم .
kA(
گزینههایی برای ساخت این مکانیزم وجود دارد . درباره دوتا از آنها بحث خواهیم کرد :
.B+
ما میتوانیم یک شی را در یک فایل روی دیسک قرار دهیم و سپس آن را از هر فرآیند دیگری serialize . هیچ شرط شاعرانه وجود ندارد و هیچ راهی وجود ندارد که نوشتن و خواندن یک فایل سریعتر از remoting باشد .
راهحل دیگر براساس فایلهای نگاشت حافظه Win۳۲ ( MMF ) است . MMF ما را قادر میسازد تا فایلها را بخوانیم و بنویسیم ، اما تمام تعامل IO ها در رم به شکلی از حافظه استاندارد رخ میدهد . این یک مزیت عملکرد دارد . مزیت دیگر MMF این است که به اشتراک گذاری در فرآیندها با نزدیک شدن به MMF با نام جهانی مشابه ( که در زمان ایجاد MMF ) از کاربردهای مختلف اختصاص داده شد ، به اشتراک میگذارد .