首页 > 代码库 > 多线程
多线程
今天在云和学院学习了多线程
进程:计算机开启的一个正在运行的软件,在我们的操作系统上成为一个进程。N个进程。
线程:指的是在一个进程里开辟多个功能来同时执行多件任务。
前台线程:我们的UI界面使用的是系统给我们默认的前台线程
后台线程:指的是我们的自己定义的线程对象
前台线程终止之后,后台线程不会结束。
后台线程终止之后,前台线程会结束。
进程:
Process[] prc = Process.GetProcesses(); foreach (var item in prc) { Console.WriteLine(item); }Console.ReadKey();
bool b = false; Thread th = null; private void button1_Click(object sender, EventArgs e) { if(!b) { button1.Text = "终止"; b = true; Control.CheckForIllegalCrossThreadCalls = false; th = new Thread(Priase); th.Start(); } else { button1.Text = "抽奖"; b = false; th.Abort(); } } private void Priase() { Random r = new Random(); while(true) { textBox1.Text = r.Next(0,10).ToString(); textBox2.Text = r.Next(0,10).ToString(); textBox3.Text = r.Next(0,10).ToString(); } }
using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace 多线程{ class Program { private static int count = 0; static void Main(string[] args) { var t1 = new Thread(AddCount); var t2 = new Thread(AddCount); t1.Start(); t2.Start(); Console.ReadKey(); } static void AddCount() { while (true) { int temp = count; Thread.Sleep(1000); count = temp + 1; Console.WriteLine("我的托管线程ID为:" + Thread.CurrentThread.ManagedThreadId + " 目前count的值为:" + count); Thread.Sleep(1000); } } }}
多线程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。