进程类Process与多线程Thread

进程类(Process)的基本操作:

//通过进程类查询系统所有进程
            Process[] pros = Process.GetProcesses();
            foreach (var item in pros)
            {
                Console.WriteLine(item);
            }

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

            //通过一个进程打开指定的文件
            ProcessStartInfo psi = new ProcessStartInfo(@"C:\Users\Administrator\Desktop\ado.net简单记录.txt");
            Process p = new Process();
            p.StartInfo=psi;
            p.Start();
            Console.ReadKey();

多线程:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 多线程
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Thread th;
        private void button1_Click(object sender, EventArgs e)
        {
            //创建一个线程,执行Test方法
             th = new Thread(Test);
            //将线程设置为后台线程,只要所有前台线程关闭,后台自动关闭
            th.IsBackground = true;
            //标记此线程可以随时被执行,具体何时,看CPU决定
            th.Start();
        }

        public void Test()
        {
            for (int i = 0; i < 10000; i++)
            {
                //Console.WriteLine(i);
                textBox1.Text = i.ToString();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //取消跨线程访问的限制
            Control.CheckForIllegalCrossThreadCalls = false;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //当点击关闭窗口时,判断线程是否还在运行
            if (th != null)
            {
                //如果在,则手动终止,注意:终止之后不能再次启动。
                th.Abort();//
            }
        }
    }
}
时间: 2024-08-05 15:21:09

进程类Process与多线程Thread的相关文章

多线程-----Thread类与Runnable接口的区别

第一个继承Thread类来实现多线程,其实是相当于拿出三件事即三个卖早餐10份的任务分别分给三个窗口,他们各做各的事各卖各的早餐各完成各的任务,因为MyThread继承Thread类,所以在newMyThread的时候在创建三个对象的同时创建了三个线程:实现Runnable的, 相当于是拿出一个卖早餐10份的任务给三个人去共同完成,newMyThread相当于创建一个任务,然后实例化三个Thread,创建三个线程即安排三个窗口去执行. 一个类只能继承一个父类,存在局限:一个类可以实现多个接口.在

进程(process)和线程(thread)

来源:阮一峰 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握. 其实做一个很好的类比,就可以把它们解释地清晰易懂. 1.计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2.假定工厂的电力有限,一次只能供给一个车间使用.也就是说,一个车间开工的时候,其他车间都必须停工.背后的含义就是,单个CPU一次只能运行一个任务. 3.进程就好比工厂的车间,它代表CPU所能处理的单个任务.任一时刻,CPU总是运行一个进程,其他进程处于非

2.匿名类,匿名类对象,private/protected/public关键字、abstract抽象类,抽象方法、final关键字的使用,多线程Thread类start方法原理

package com.bawei.multithread; //注意:模板方法我们通常使用抽象类或者抽象方法!这里我们为了方便在本类中使用就没有使用抽象类/抽象方法 public class TemplateThread { //如果这个方法不想被子类或者别人随意改动[这样子类就不能覆写该方法了],这里方法就要设置为final方法 public final void println(String message){ System.out.println("###################

进程(process)线程(thread)应用程序域(domain) (from www.sysoft.cc)

进程(process)是windows的一个基本概念,它包括了运行一个程序的需要的所有资源.进程之间是相互独立的,一个进程无法访问另一个进程之间的数据(除非采用分步式计算方式),一个进程运行的失败也不会影响到另一个进程的运行.windows就是利用进程将工作划分为多个工作区域的.进程可以理解为一个程序 的基本边界.解决问题:要解决并发问题,即:使进程独立,就要使每个进程有属于自己的程序段,数据段,进程控制块. 应用程序域(domain),它提供安全通用的处理单元,公共语言运行库可以用它来进行应用

01.多线程之进程类

Process 进程类 (1).获得当前正在计算机中运行的程序的进程 //获得当前在计算机中运行的进程 Process[] pros = Process.GetProcesses(); foreach (Process item in pros) { Console.WriteLine(item); } (2).运行计算机上的一些程序 //通过进程打开一些应用程序 Process.Start("calc"); //计算机 Process.Start("mspint"

Java 多线程——Thread类和Runable接口

在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: [java] view plaincopy package org.thread.demo; class MyThread extends Thread{ private String name; public

继承的方式创建多线程&amp;Thread类的常用方法

创建多线程的一种方式:继承java.lang.Thread类 注意:1.一个线程只能执行一次start() 2.不能通过Thread实现类对象的 run()去启动一个线程 3.增加加一个线程,需要新创建一个线程的对象 Thread类的常用方法: 1.start():启动线程并执行相应的 run()方法 2.run():子线程要执行的代码放入run()方法中 3.currentThread():静态的,调取当前的线程 4.getName():获取此线程的名字 5.setName():设置此线程的名

多线程Thread类的方法

创建多个线程 1.定义一个Thread类的子类,比如MyThread类 2.重写Thread的run方法,设置线程任务 3.创建Mythread类的对象 4.调用方法start(),开启新的线程,执行run()方法 Thread的一些常用方法 public String getName():返回该线程的名字 static Thread currentThread(): 静态方法,返回当前的线程//返回的该线程的对象可以调用getName方法,得到当前线程名称 public void setNam

C# 进程、线程和多线程

1.进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程.线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码.进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的.进程可以理解为一个程序的基本边界.是应用程序的一个运行例程,是