ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.





سفارش شبیه سازی مقالات و پایان نامه
انجام پروژه و شبیه سازی با متلب
آموزش برنامه نویسی رایگان
نمایش نتایج: از 1 به 3 از 3
  1. #1
    CodeDEV
    کاربر عضو
    تاریخ عضویت
    Mar 2016
    محل سکونت
    تهران
    نوشته ها
    89
    10
    16

    الگوریتم خوانندگان و نویسندگان با سمافور به صورت چند نخی در زبان سی شارپ

    سلام دوستان دنبال برنامه مسئله خوانندگان و نویسندگان با سمافور به صورت چند نخی در زبان سی شارپ هستم لطفا اگه کدش رو داره ممنون میشم در اختیارم قرار بدید خیلی نیاز دارم برای درس سیستم عامل می خوام.
    ویرایش توسط CodeDEV : 2016/05/31 در ساعت 15:35
  2. #2
    noavarangermi
    مدیر کل
    تاریخ عضویت
    Mar 2016
    نوشته ها
    594
    125
    388
    سورس برنامه خوانندگان و نویسندگان با سمافور را که به صورت Multi-Thread نوشته شده در زبان سی شارپ رو آماده کرده ام و از لینک زیر می تونید دانلود کنید.

    لینک دانلود:

  3. 1
  4. #3
    noavarangermi
    مدیر کل
    تاریخ عضویت
    Mar 2016
    نوشته ها
    594
    125
    388
    برای مسئله خوانندگان و نویسندگان از سورس کد زیر هم می تونید استفاده کنید ولی این مورد به صورت کنسولی است.

    کد:
    using System;
    using System;
    using System.Threading;
    using System.Collections.Generic;
    
    namespace ReaderWriterLockSlimTest
    {
        /// <summary>
        /// This simple class demonstrates the usage a Reader/Writer
        /// situation, using the ReaderWriterLockSlim class
        /// </summary>
        class Program
        {
            static ReaderWriterLockSlim rw = new ReaderWriterLockSlim();
            static List<int> items = new List<int>();
            static Random rand = new Random();
    
            static void Main(string[] args)
            {
                //start some readers
                new Thread(Read).Start("R1");
                new Thread(Read).Start("R2");
                new Thread(Read).Start("R3");
    
                //start some writers
                new Thread(Write).Start("W1");
                new Thread(Write).Start("W2");
            }
    
            static void Read(object threadID)
            {
                //do read
                while (true)
                {
                    try
                    {
                        rw.EnterReadLock();
                        Console.WriteLine("Thread " + threadID +
                            " reading common source");
                        foreach (int i in items)
                            Thread.Sleep(10);
                    }
                    finally
                    {
                        rw.ExitReadLock();
                    }
                }
            }
    
            static void Write(object threadID)
            {
                //do write
                while (true)
                {
                    int newNumber = GetRandom(100);
                    try
                    {
                        rw.EnterWriteLock();
                        items.Add(newNumber);
                    }
                    finally
                    {
                        rw.ExitWriteLock();
                        Console.WriteLine("Thread " + threadID +
                            " added " + newNumber);
                        Thread.Sleep(100);
                    }
                }
            }
    
            static int GetRandom(int max)
            {
                //lock on the Random object
                lock (rand)
                    return rand.Next(max);
            }
        }
    }
  5. 2
نمایش نتایج: از 1 به 3 از 3

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •