多线程--起点

首先给出多线程的定义(百度给的定义):

在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。

多线程可以更加充分的利用CPU的资源,在相对较短的时间,完成大量的任务。

最近,因为项目中,要抓取网页的数据放在数据库中,大家都知道,网页上的一个节点下的链接已经很多了,如果是抓取整个页面的话,只有一个线程是远远不够的。因此,我学习了一点多线程的知识。

这是写的再基本不错的多线程了。

这个程序的意思是,首先捕获本机的线程的个数,然后开启一个新的线程,然后再次捕获线程的个数,与原先的线程数进行比较,看看是否加一。 就是这么简单。

程序开始:

            Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
           //输入参数为空,其实类型可以不写,因为lambda表达式可以从上下文中读出参数的类型
           //=>指向的是要执行的表达式或者语句块。
            //lambda表达式是随着.net3.0出来的产品,和linq可以配合的很好。
            Thread t1 = new Thread(() =>                           
            {
            Thread.Sleep(1000);
            Thread t = Thread.CurrentThread;
            Console.WriteLine("Name: " + t.Name);
            Console.WriteLine("ManagedThreadId: " + t.ManagedThreadId);
            Console.WriteLine("State: " + t.ThreadState);
            Console.WriteLine("Priority: " + t.Priority);
            Console.WriteLine("IsBackground: " + t.IsBackground);
            Console.WriteLine("IsThreadPoolThread: " + t.IsThreadPoolThread);
            })
            {
            Name = "Thread1",
            Priority = ThreadPriority.Highest,
            };
            t1.Start();
            Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
            Console.ReadKey();

对了命名空间如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;   //这是多线程的类库
using System.Collections;
using System.Diagnostics;  //这是进程类的类库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖洋洋的好日子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值