zoukankan      html  css  js  c++  java
  • C#线程调用

    一.线程的优点

    1.服务器 一般负载的情况下 线程可以提高效率;

    2.使用线程执行的代码出现故障不会影响主程序,提高程序稳定和可靠性。

     

    二.线程的创建及其常用属性

    1.线程创建

    ThreadStart ts1 = new ThreadStart(function2);//线程定义 执行                                       

    Thread t1 = new Thread(ts1);

    t1.Start();

     或者

    Thread t1=new Thread(new ThreadStart(function2));  

    t1.Start();  

    2.线程常用属性

    Priority 获取或设置,线程优先级

    IsBackgroud 获取或设置,是否为后台线程

    Abort() :终止线程

    Start() 开始线程

    三.程序实例 

     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;

    namespace Thread2
    {
        class Program
        {
            static void function1()
            {
                for (int i = 0; i < 40; i++)
                {
                    Console.WriteLine(i);
                }
            }
            static void function2()
            {
                for (int i = 41; i <200; i++)
                {
                   
                    Console.WriteLine(i);
                    int c = 2;
                    int x = 0;
                    int y = c / x;
                }
            }
            static void function3()
            {
                for (int i = 200; i < 205; i++)
                {
                    Console.WriteLine(i);
                    //int c = 2;
                    //int x = 0;
                    //int y = c / x;


                }
            }
            static void Main(string[] args)
            {
                Console.WriteLine("Main begin !");

                ThreadStart ts = new ThreadStart(function1);//线程定义 执行
                Thread t = new Thread(ts);
                t.Priority = ThreadPriority.Highest;
                t.Start();

                Console.WriteLine("Main end!");

                ThreadStart ts1 = new ThreadStart(function2);//线程定义 执行
                Thread t1 = new Thread(ts1);
                //t1.Priority = ThreadPriority.Highest;
                //t1.IsBackground = true;//没执行完 主程序也退出
                t1.Start();

                function3();//直接执行

                Console.WriteLine("Main1111 end!");
            }


        }
    }

     

  • 相关阅读:
    分清抽象类和接口的区别
    【Android界面实现】FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别
    Android多线程----异步消息处理机制之Handler详解
    Android中关于Handler的若干思考
    Axure Base 09 带遮罩层的弹出框
    Axure Base 08 动态面板的用途
    Axure Base 07 元件使用思路的补充
    Axure Base 03
    Axure Base 02
    Axure Base 01
  • 原文地址:https://www.cnblogs.com/dengcw/p/3858700.html
Copyright © 2011-2022 走看看