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

نام تاپیک: اجرا شدن دستور توسط یوآی ترد یا ترد دیگر

  1. #1

    Question اجرا شدن دستور توسط یوآی ترد یا ترد دیگر

    سلام
    چرا وقتی handler.post(thread) مینویسیم محاسبه توسط یوآی ترد انجام میشه و وقتی مینویسیم new Thread(thread).start() محاسبه توسط ترد کمکی انجام میشه؟
    package com.google.myapplication;


    import android.os.Handler;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;


    public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ll);
    }


    public void clickListener(View v)
    {
    Handler handler=new Handler();
    Runnable thread=new Runnable(){
    @Override
    public void run() {
    for (int i=0;i<=1000000;i++)
    if (i%2==0)
    Log.i("myapp",i+" is Even");
    }
    };
    // handler.post(thread);
    new Thread(thread).start();
    }
    }

  2. #2

    نقل قول: اجرا شدن دستور توسط یوآی ترد یا ترد دیگر

    نقل قول نوشته شده توسط kamran_14 مشاهده تاپیک
    سلام
    چرا وقتی handler.post(thread) مینویسیم محاسبه توسط یوآی ترد انجام میشه و وقتی مینویسیم new Thread(thread).start() محاسبه توسط ترد کمکی انجام میشه؟
    package com.google.myapplication;


    import android.os.Handler;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;


    public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ll);
    }


    public void clickListener(View v)
    {
    Handler handler=new Handler();
    Runnable thread=new Runnable(){
    @Override
    public void run() {
    for (int i=0;i<=1000000;i++)
    if (i%2==0)
    Log.i("myapp",i+" is Even");
    }
    };
    // handler.post(thread);
    new Thread(thread).start();
    }
    }
    برای اینکه شما handler را در main thread ایجاد کردید، توجه داشته باشید که کلاس handler یک نخ جدید ایجاد نمیکنه!(کلاس فوق یکی از راههای کمکی هست که میشه در thread main عملیات جدیدی اضافه کرد)
    ولی خوب همانطور که واضح هست new Thread یک نخ جدید ایجاد میکنه بنابراین در یک نخ جداگانه ای از thread main اجرا خواهد شد.

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

  1. اجرا چند کیوری همزمان توسط dbexpress
    نوشته شده توسط Borland.C در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 0
    آخرین پست: دوشنبه 24 خرداد 1395, 23:03 عصر
  2. مبتدی: جلوگیری از تکرار دستورات اس کیوال
    نوشته شده توسط saeedeh119 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 09 بهمن 1391, 23:11 عصر
  3. سوال: کد کردن اطلاعات توسط توابع اسکیوال
    نوشته شده توسط baran_mehr در بخش SQL Server
    پاسخ: 2
    آخرین پست: شنبه 04 دی 1389, 21:19 عصر
  4. دستور اسکیوال
    نوشته شده توسط لاله86 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 04 خرداد 1387, 20:28 عصر
  5. دیدن خروجی دستورات اسکیوئل در وب فرمها
    نوشته شده توسط shahabedeen در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: چهارشنبه 12 فروردین 1383, 23:28 عصر

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

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