• 进程与线程


    7、进程
    我们可以把计算机中每个运行的应用程序都当做是一个进程。
    而一个进程又是由多个线程组成的。

    //获得当前程序中所有正在运行的进程
    Process[] pros=Process.GetProcesses();
    foreach(var item in pros)
    {
    //item.Kill();
    Console.WriteLine(item);
    }

    //通过进程打开一些应用程序
    Process.Start("calc");
    Process.Start("mspaint");
    Process.Start("notepad");
    Process.Start("iexplore","http://www.baidu.com");

    //通过一个进程打开指定的文件
    //第一:创建进程对象
    ProcessStartInfo psi=new ProcessStartInfo(@"c:UsersSpringRainDesktop1.txt");
    Process p=new Process();
    p.StartInfo= psi;
    p.Start();

    8、单线程遇到的问题

    //创建一个线程去执行这个方法
    Thread th=new Thread(Test);
    //标记这个线程准备就绪了,可以随时被执行。具体什么时候执行这个线程由CPU决定。
    //将线程设置为后台线程
    th.IsBackground=true;
    th.Start();

    前台线程和后台线程
    前台线程:只有所有的前台线程都关闭了能完成程序关闭。
    后台线程:只要所有的前台线程结束,后台线程自动结束。

    9、在.net下,是不允许跨线程的访问的。
    //取消跨线程的访问
    Control.CheckForIllegalCrossThreadCalls=false;

    private void Form1_FormClosing(object sender,FormColsingEventArgs e)
    {
    //当你点击关闭窗体的时候,判断新线程是否为Null
    if(th!=null)
    {
    //结束这个线程
    th.Abort();
    }
    }

    如果线程执行的方法需要参数,那么要求这个参数必须是object类型。

  • 相关阅读:
    Linux的中文输入法Fcitx-国货精品
    Linux内核编译与安装[转]
    Linux内核编译与安装[转]
    修改镜像地址加快Ubuntu更新速度
    修改镜像地址加快Ubuntu更新速度
    OSX操作技巧:快速锁定系统(类似Windows+L)
    NDK编程入门笔记[转]
    NDK编程入门笔记[转]
    内置函数图形分类
    函数的定义
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/4198289.html
Copyright © 2020-2023  润新知