[Thread Invoke / BeginInvoke] invoke 와 begininvoke 의 차이 연구


Created with colorer-take5 library. Type 'csharp'

/*
 * Created by SharpDevelop.
 * User: jjongun
 * Date: 2010-03-04
 * Time: ��전 11:27
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;
namespace TestEventThread
{
    //CrossThread 를 위한 Delegate
    public delegate void guideThreadCallBack(string str);
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
            
            Trace.WriteLine("startThread    " + Thread.CurrentThread.ManagedThreadId);
            //새로운 Thread 선언 
            testThread = new Thread( new ThreadStart(inThread));
            testThread.Start();
            
            //종료를 위한 이벤트
            this.Disposed += new EventHandler(MainForm_Disposed);
            Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
        }

        void Application_ApplicationExit(object sender, EventArgs e)
        {
            Trace.WriteLine("Application_ApplicationExit");
        }
        
        void MainForm_Disposed(object sender, EventArgs e)
        {
            Trace.WriteLine("MainForm_Disposed");
            testThread.Abort();
        }
        
        //Thread Target
        void inThread()
        {
            for(int i =0; i <1000 ; i++)
            {
                crossThread("Test String Number : " + i.ToString());
                Trace.WriteLine("SleepThread    " + Thread.CurrentThread.ManagedThreadId);
                Thread.Sleep(1000);
                
            }
        }
        
        //Invoke  or  BegiInvoke
        void crossThread(string str)
        {
            Trace.WriteLine(str +"   currentThread " +Thread.CurrentThread.ManagedThreadId.ToString());
            if(this.InvokeRequired)
            {
                Trace.WriteLine("    InvokeRequired " + Thread.CurrentThread.ManagedThreadId.ToString() + "\n\n\n");
                
                this.Invoke(new guideThreadCallBack(crossThread) , new Object[]{str});
                //this.BeginInvoke(new guideThreadCallBack(crossThread) , new Object[]{str});
            }else{
                this.Text = str ;
                Trace.WriteLine("NOT InvokeRequired " + Thread.CurrentThread.ManagedThreadId.ToString());
            }
        }
        
        private Thread testThread;
    }
}
 
 
 
 
 
위의 코의에서 this.invoke 와 this.beginInvoke 를 비교하고 있다. 여기서 Trace 를 보면 



와 같이 차이를 보인다.

SleepThread 라고 적어놓은 부분이 발생하는 순서가 다르다.

이유는 현제 모름
Yamecoder 야매코더_
C# 2010. 12. 4. 02:15

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon mont blanc fountain pen��mont blanc pen��mont blanc pens��mont b 2014.10.11 15:54  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  3. BlogIcon mont blanc pens 2014.10.11 15:54  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  4. BlogIcon chanel outlet store 2014.10.13 19:06  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  5. BlogIcon meizitang soft gel 2014.10.17 12:16  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  6. BlogIcon botanical slimming 2014.10.19 18:55  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  7. BlogIcon woolrich 2014.11.07 21:09  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. BlogIcon mont blanc fountain pen 2014.11.07 21:10  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. BlogIcon mont blanc pen 2014.11.07 21:11  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. BlogIcon cheap mont blanc pens 2014.11.11 03:34  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. BlogIcon meizitang 2014.11.11 03:35  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. BlogIcon 深圳横岗眼镜批发 2014.11.12 00:51  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. BlogIcon Cheap iPhone 6 2014.11.12 03:17  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. BlogIcon wood eyeglass frames 2014.11.17 09:04  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. BlogIcon doudoune moncler homme 2014.11.28 08:26  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. 匿名 2015.01.15 12:20  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  17. 匿名 2015.02.06 14:13  수정/삭제  댓글쓰기

    없마骑士服务端天上碑服务端美丽世界服务端科洛斯服务端石器时代服务端

    完美世界服务端烈焰服务端洛汗服务端新魔界服务端绝对女神私服务端

    征服服务端传说45服务端天之炼狱服务端天堂II私服务端墨香私服务端


    传奇开sf一条龙开区服务-

    天龙八部开私服一条龙服务-


    传奇广告代理-

    IDC服务器以及空间租用-

    魔域私服开区一条龙服务-


    客服咨询QQ(企鹅扣扣)49333685

    Email:49333685@qq.com

    后浪科技更多商业版本免费开放下载




    后浪科技科技仿官神武血魔版服务端



    后浪科技石器时代VIP最新V10纯金开区端



    后浪科技热血江湖3.5宠门武勋开区端



    后浪科技剑侠情缘X2.0商业版本服务端



    后浪科技v2.07已开5区七转神台天降横财八卦玄阵血魄技그가

  18. BlogIcon fulinglasses review 2015.03.05 17:04  수정/삭제  댓글쓰기

    려분In Bangalore I basically treated lot of patients affected by severe back ace and neck pain . the main cause for that is the Chair. in this topic Trauma am i able tonterfere With Social Skill progression we are not aging, We're recuperating! Pain Pills Don't Work! The Pregnant Pain tabletAddict - Is it Safe to Take Suboxone?이있

  19. BlogIcon t shirt burberry pas cher 2015.03.27 21:10  수정/삭제  댓글쓰기

    할리test"La chanson de la c&eacute;l&egrave;bre po&eacute;tesse Li Qingzhao "lampe de test sans &ccedil;a pas de neige pas d'humeur" montre que son mari est mort son seul vie mis&eacute;rableIl semble que quel que soit le t shirt burberry pas cher type de vacances peu importe comment trench femme burberry elle est vive tant que la famille la paix dans tout autour Mei - Mei et c'est &agrave; vous| | Fe뉴지

  20. 匿名 2015.04.05 10:19  수정/삭제  댓글쓰기

    일우火车采集器html简单模板示范






    The Danger of Motorcycle Accidents







    [标签:来源]








    Motorcycle accidents can be tragic, life changing events. Serious bodily injury and even death can be the result of these accidents. The statistics for a motorcycle rider to escape an accident with just minor injuries is very minimal. Bumps, bruises and abrasions are likely to be the least of th부없

  21. 匿名 2015.04.08 09:20  수정/삭제  댓글쓰기

    적메火车采集器html简单模板示范






    Discount Leather Jackets







    [标签:来源]








    Leather is a very expensive material. Therefore, one should always think carefully before opting for a leather jacket. In fact, people should never buy a leather jacket unless and until they are completely sure they will wear it.

    However, to make their decisions easier, leather jackets are available at런일

Powerd by Tistory, designed by criuce
rss