zoukankan      html  css  js  c++  java
  • C#(7)---线程

     C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,它是由CLR和操作系统自动创建的,并具有多线程创建额外的线程。

     除非被指定,否则所有的例子都假定以下命名空间被引用:  
       using System.Threading;

    这个要加到引用中,否则报错、。。。

    尝试一个无线输出x与y的程序,结果为:

    不关闭窗口则输出一直不停止

    在线程的启动中:

    实例化Thread需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。

    在.net中可以尝试两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。
     1. 不带参数的启动方式:
     如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,:

    输出为:

    2. 带参数的启动方法
     如果要在实例化线程时要带一些参数,就不能用ThreadStart委托作为构造函数的参数来实例化Thread了,而要ParameterizedThreadStart委托。

    它也是线程启动时要执行的方法,但它在实例化时可以用一个带有一个Object参数的方法作为构造函数的参数,而实例化ThreadStart时所用到的方法则无参。。。

    这里在实现的时候定义了程序的暂停间隔,可以实现线程在运行过程中间隔时间的控制:

    输出结果为:

  • 相关阅读:
    jupyter中使用熟悉的vim
    解决安装manjaro中安装ccs10.2的库缺失问题
    Markdown中公式
    诗就应该边读边品的,不要
    为neovim田间python3支持
    bilibili视频保存目录
    新工科教育--之我所见
    父母的爱 和汽车的后背箱
    解决manjaro中jupyter无法修改目录和默认浏览器的问题:
    解决jupyter的能打开python文件无法新建的问题
  • 原文地址:https://www.cnblogs.com/yezikai/p/4474912.html
Copyright © 2011-2022 走看看