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

推荐订阅源

月光博客
月光博客
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
S
SegmentFault 最新的问题
量子位
有赞技术团队
有赞技术团队
V
V2EX
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Jina AI
Jina AI
C
Check Point Blog
G
Google Developers Blog
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
T
Tailwind CSS Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
U
Unit 42

博客园 - 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类型。