开启多线程基本的4步:1)编写一个线程要执行的方法2)引入命名空间using System.Threading3)实例化一个Thread对象并把方法放入该线程对象中4)调用该线程对象的Start()方法
多线程例题:编写一个计算一个从0-99999999的和的方法;如果没有使用多线程,运行时去拖窗体会发现非常卡窗体拖不动c#多线程,而使用多线程通过开启一个线程将方法放入该线程运行就不会出现类似情况
线程的调度方式:1)非抢占式即只要该线程得到运行控制权,除非线程中方法运行完毕否则会一直霸占,直至运行完成2)抢占式:每个线程只有极少运行时间(没记错的话是10毫秒),时间一到就会切换到另一线程,因为时间非常短才感觉多线程是”一起”执行的,其实是CPU在线程间来回的切换执行,每个线程都有一个线程的暂存器,用于存储当前线程执行的状态,比如线程中的变量,这样才不会导致线程中变量的混乱
窗体界面,图中写的是控件Name属性的值
多线程创建与应用
在FThread类构造方法中将TextBox控件的跨线程访问检查关闭掉,否则线程启动会报异常
不允许跨线程访问,主要是为了安全
如果编写停止按钮的事件必须先将Thread td声明在方法外面,然后编写事件及其里面的代码就非常简单,在btnStop事件中编写td.Abort();即可不再截图
多线程中的前台后台:前台(默认的)指的是即使窗体界面关闭,开启的线程在后台依然执行,直至执行完毕;后台(手动设置)即窗体界面关闭c#多线程,开启的线程不管里面的代码是否执行完毕都会强制地停止该线程运行,怎样设置如上图中所示
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。