نمایش نتایج 1 تا 9 از 9

نام تاپیک: کارکرد همزمان دو تایمر

  1. #1

    کارکرد همزمان دو تایمر

    سلام دوستان عزیز
    دوستان عزیز چطور میشه کاری کرد که دو تا تایمر همزمان کار کنند و برنامه و سیستم هنگ نکنه یعنی برنامه ای که روش کار کردم دوتا تایمر داره که به صورت همزمان و با اینترول 1 درحال کار کردن هستش میخواستم بدونم ایا راهی هست که از هنگ برنامه جلوگیری کرد

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    تهران
    سن
    34
    پست
    30

    نقل قول: کارکرد همزمان دو تایمر

    سلام دوست عزیز
    اگر interval =1 باشه این یعنی یک هزارم ثانیه که هر کاری بکنی تقریبا سیستم هنگ میکنه.البته نه حتما
    اگر منظورت 1 ثانیه هست که میشه interval=1000; باز هم پیشنهاد نمیشه.پس شما باید interval بالاتر ست کنی
    ولی اگر نیاز داری interval پایین باشه می تونی تایمرهارو روی Thread جدا اجرا کنی
    تو گوکل نحوه استفاده Thread را میتونی پیدا کنی
    موفق باشی

  3. #3

    نقل قول: کارکرد همزمان دو تایمر

    نقل قول نوشته شده توسط babak1368 مشاهده تاپیک
    سلام دوست عزیز
    اگر interval =1 باشه این یعنی یک هزارم ثانیه که هر کاری بکنی تقریبا سیستم هنگ میکنه.البته نه حتما
    اگر منظورت 1 ثانیه هست که میشه interval=1000; باز هم پیشنهاد نمیشه.پس شما باید interval بالاتر ست کنی
    ولی اگر نیاز داری interval پایین باشه می تونی تایمرهارو روی Thread جدا اجرا کنی
    تو گوکل نحوه استفاده Thread را میتونی پیدا کنی
    موفق باشی
    سلام دوست عزیز تو گوگل چیز خاصی پیدا نکردم که از دوتا تایمر به صورت همزمان یه یکی دائما با اینترول 1 و دیگری با زمانهای مختلف هزمان کار کنند برای جلوگیری از هنگ کردنش فقط راح حلش نخها هستش که نتونستم با نخ اجراش کنم

  4. #4

    نقل قول: کارکرد همزمان دو تایمر

    اینطوری بنویسش


    void MainFun()
    {
    System.Threading.Thread t1;
    t1 = new System.Threading.Thread(Fun1);
    t1.IsBackground = true;
    t1.Start();
    t1 = new System.Threading.Thread(Fun2);
    t1.IsBackground = true;
    t1.Start();
    System.Threading.Thread.Sleep(1);
    }
    void Fun1()
    {
    //کدهای تایمر اول
    }
    void Fun2()
    {
    //کدهای تایمر دوم
    }


    تو رویداد form_Load() هم اینو بنویس


    System.Threading.Thread t1 = new System.Threading.Thread(MainFun);
    t1.IsBackground = true;
    t1.Start();


  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    38

    نقل قول: کارکرد همزمان دو تایمر

    من از این کد استفاده کردم اما فقط دو بار کار انجام میده !
    فقط تو لیست باکسم 4 تا آیتم ادد میشه !
    ایجوری استفاده کردم !


    void MainFun()
    {
    System.Threading.Thread t1;

    t1 = new System.Threading.Thread(Fun1);
    t1.IsBackground = true;
    t1.Start();

    t1 = new System.Threading.Thread(Fun2);
    t1.IsBackground = true;
    t1.Start();

    System.Threading.Thread.Sleep(1);
    }
    void Fun1()
    {
    this.BeginInvoke((MethodInvoker)delegate() { listBox1.Items.Add("f1"); });
    }
    void Fun2()
    {
    this.BeginInvoke((MethodInvoker)delegate() { listBox1.Items.Add("f2"); });
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    System.Threading.Thread t1 = new System.Threading.Thread(MainFun);
    t1.IsBackground = true;
    t1.Start();
    }

  6. #6

    نقل قول: کارکرد همزمان دو تایمر

    ببخشید یه تیکه جا موند
    این تابع mainFun رو اینطوری بنویس

    void MainFun()
    {
    while(true){
    System.Threading.Thread t1;
    t1 = new System.Threading.Thread(Fun1);
    t1.IsBackground = true;
    t1.Start();
    t1 = new System.Threading.Thread(Fun2);
    t1.IsBackground = true;
    t1.Start();
    System.Threading.Thread.Sleep(1);
    }
    }

  7. #7

    نقل قول: کارکرد همزمان دو تایمر

    نقل قول نوشته شده توسط hamid_hr مشاهده تاپیک
    اینطوری بنویسش


    void MainFun()
    {
    System.Threading.Thread t1;
    t1 = new System.Threading.Thread(Fun1);
    t1.IsBackground = true;
    t1.Start();
    t1 = new System.Threading.Thread(Fun2);
    t1.IsBackground = true;
    t1.Start();
    System.Threading.Thread.Sleep(1);
    }
    void Fun1()
    {
    //کدهای تایمر اول
    }
    void Fun2()
    {
    //کدهای تایمر دوم
    }


    تو رویداد form_Load() هم اینو بنویس


    System.Threading.Thread t1 = new System.Threading.Thread(MainFun);
    t1.IsBackground = true;
    t1.Start();

    مهندس عزیز ممنون از لطفت و وقتی که گذاشتی، برای تایمرها که یکی همیشه ثابت با اینترول 1 هستش و دیگری با اینترولهای مختلف که توسط کاربر تنظیم میشه چیکار میشه کرد یعنی یکی از تایمرها زمانش متغیر هستش

  8. #8

    نقل قول: کارکرد همزمان دو تایمر

    اون mainFun رو دو تا کن مثلا mainfun1, mainfn2
    یکی برای fun1 و یکی برای fun2
    حالا تو هر کدوم یه ترد استارت کن تو اولی fun1 و تو دومی fun2
    حالا با thread.sleep میتونی interval رو تغییر بدی
    خودت تست کن

  9. #9

    نقل قول: کارکرد همزمان دو تایمر

    نقل قول نوشته شده توسط hamid_hr مشاهده تاپیک
    اون mainFun رو دو تا کن مثلا mainfun1, mainfn2
    یکی برای fun1 و یکی برای fun2
    حالا تو هر کدوم یه ترد استارت کن تو اولی fun1 و تو دومی fun2
    حالا با thread.sleep میتونی interval رو تغییر بدی
    خودت تست کن
    سلام مهندس عزیز ممنون ازکمکات من این دستور رو چک کردم وکار هم کرد ولی یکمی نسبت به تایمر کند عمل میکنه یعنی جوابی رو که میخوام نگرفتم ببین دوست عزیزمن یه تایمر با اینترول یک 1 برای ذخیره کلیدها و یه تایمر دیگه با اینترول متغیر از طریق کاربر برای ذخیره تصاویر صفحه استفاده میشه که موقع استفاده از برنامه زمانی که هر دوتایمر باهم اجرا میشن سیستم و برنامه یکمی کند میشه میخواستم این دو تایمر بدون کند شدن و بدون خلل در برنامه باهم اجرا بشن الته تنها راهحلش نخها به نظرم رسید اگه دوستان کمک دیگه ای بلد هستش دریغ نکنه
    دوستان عزیز دریغ نکنید خوب چقد وقتتونو میگیره که جواب نمیدید خوب میخوام یه چیزی ازتون یاد بگیرم
    آخرین ویرایش به وسیله Beginneruser : جمعه 11 بهمن 1392 در 22:27 عصر

تاپیک های مشابه

  1. چند کاربر همزمان ؟
    نوشته شده توسط mostafa612003 در بخش Access
    پاسخ: 10
    آخرین پست: سه شنبه 17 دی 1392, 13:24 عصر
  2. سوال: کارکرد برنامه همزمان با دیگر برنامه ها
    نوشته شده توسط aboulfazl950 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: سه شنبه 03 بهمن 1391, 18:46 عصر
  3. کنترل تایمر
    نوشته شده توسط (سیدشریفی) در بخش برنامه نویسی در 6 VB
    پاسخ: 7
    آخرین پست: پنج شنبه 06 تیر 1387, 10:06 صبح
  4. تایمر در ا اس پی
    نوشته شده توسط taghi1 در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: سه شنبه 12 مهر 1384, 13:07 عصر
  5. استفاده از تایمر
    نوشته شده توسط Dracula در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: دوشنبه 06 مرداد 1382, 22:46 عصر

قوانین ایجاد تاپیک در تالار

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