• WinForm 窗体应用程序(初步)之三


    进程:

    进程,简单的说,就是让你的程序启动另一个程序。

    1、Process.Start("calc");//启动计算器

    弊端:只认识系统自带的程序,如果写错系统会崩溃。

    2.

    //实例化进程类
    Process p = new Process();
    //创建进程开启路径对象
    ProcessStartInfo psi = new ProcessStartInfo(textBox1.Text);
    //进程类开启路径指向
    p.StartInfo = psi;
    p.Start();//开启进程,但不是马上开启,但可认为是马上开启

    线程:

    简单的说,允许你的程序同时进行多项任务。

    两个问题:1、程序默认不允许跨线程访问对象

    需要在构造函数中,实例化方法下面加上这句话:
    Control.CheckForIllegalCrossThreadCalls = false;

    2、

    程序默认所有的线程都为:前台线程

    解决办法:将新开的线程变为后台线程
    th.IsBackground = true;

    线程程序主要写法

    线程所在的命名空间:System.Threading;
    线程类:Thread th = new Thread(方法名);
    //没有不要参数的构造函数,常用的为,1个参数,参数类型是委托类型,需要一个方法指向

    变为后台线程:
    th.IsBackground = true;

    线程启动:
    th.Start();

    如果要执行带参数的方法,那么这个方法的参数必须是object类型,参数传递的位置在Start方法的括号中

    允许跨线程访问对象:
    在构造函数的构造方法下面加上:
    Control.CheckForIllegalCrossThreadCalls = false;

    停止线程:
    th.Abort();

  • 相关阅读:
    vue学习第四天 ------ 临时笔记
    vue学习第三天 ------ 临时笔记
    vue学习第二天 ------ 临时笔记
    vue学习第一天 ------ 临时笔记
    vue ------ 安装和引入
    swagger-tools QuickStart
    build-your-microservices-api-with-swagger
    test-doubles-fakes-mocks-and-stubs
    swaggerhub 文档
    React Server Side Rendering
  • 原文地址:https://www.cnblogs.com/xsddxz/p/5914236.html
Copyright © 2020-2023  润新知