惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
J
Java Code Geeks
U
Unit 42
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
L
LangChain Blog
D
Docker
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
I
InfoQ
The Cloudflare Blog
小众软件
小众软件
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
P
Proofpoint News Feed
V
V2EX
月光博客
月光博客
Martin Fowler
Martin Fowler

博客园 - teacherzj

EF---延迟加载技术 Entity Framework 1 委托 xml 可扩展的标记语言 单例模式 集合,对象初始化器 序列化与反序列化 winform基础 MD5加密 接口 重写ToString()方法 密封类 部分类 序列化和反序列化 值类型和引用类型 简单工厂模式 C#中的访问修饰符 多态 FileStream、StreamReader和StreamWriter
进程与线程
teacherzj · 2015-01-02 · via 博客园 - teacherzj

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:\Users\SpringRain\Desktop\1.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类型。