shadowplay
C#线程⼊门教程之单线程介绍
什么是进程?
当⼀个程序被打开运⾏时,它就是⼀个进程。在进程中包括线程,进程可以由⼀个或多个线程组成。
什么是线程?
python入门教程(非常详细)书线程是程序执⾏流的最⼩单元。⼀个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
什么是多线程?
多线程是指程序中包含多个执⾏流,即在⼀个程序中可以同时运⾏多个不同的线程来执⾏不同的任务,也就是说允许单个程序创建多个并⾏执⾏的线程来完成各⾃的任务。
个⼈总结
在C#中我们开启⼀个应⽤程序就是打开了⼀个进程,这个进程中包括⼀个主线程。我们可以在此基础上在增加⾃⼰写的单个或多个线程,来执⾏我们想要完成的任务。
在Thread线程类中我们常⽤到的⼀样⽅法:
Start():启动线程;
Sleep(int):静态⽅法,暂停当前线程指定的毫秒数;
Abort():通常使⽤该⽅法来终⽌⼀个线程;
Suspend():该⽅法并不终⽌未完成的线程,它仅仅挂起线程,以后还可恢复;
像素直方图怎么看Resume():恢复被Suspend()⽅法挂起的线程的执⾏。
在C#中开启⼀个线程,来执⾏我们所写的⽅法。主要是通过ThreadStart代理委托来实现。下⾯写⼀些简单代码⽰例。
代码⽰例
单线程:
复制代码代码如下:
java是哪种语言using System;
using System.Threading;
namespace StudyThread
{
class Program
{
static void Main(string[] args)
{
OneThread();
}
static void OneThread()
{
Thread threadA = new Thread(ThreadMethod);
threadA.IsBackground = true;  //设置当前⼦线程为后台线程,为后台线程意味着,主线程关闭后,其他⼦线程都同时关闭            threadA.Start();
object ThreadParameter = "P";
Thread threadB = new Thread(new ParameterizedThreadStart(ThreadMethodParameter));
threadB.IsBackground = true;
threadB.Start(ThreadParameter);
Console.WriteLine("Main Write:M");
Console.ReadLine();
}
static void ThreadMethod()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("A");
}
}
/// <summary>
/// 带参数线程
/// </summary>
/// <param name="Parameter">只能定义⼀个object参数,因为委托ParameterizedThreadStart为单参数object类型
</param>
static void ThreadMethodParameter(object Parameter)
{
for (int j = 0; j < 10; j++)
{
sqlyog界面使用教程
Console.WriteLine("B"+Parameter);
}
}
}
}
在代理⾥分别开启两个线程。
第⼀个线程ThreadA没带参数,线程运⾏时去执⾏ThreadMethod()⽅法.
小学生学编程入门第⼆个线程ThreadB带上⼀个Object参数,通过ParameterizedThreadStart委托去执⾏ThreadMethodParameter(object Parameter)⽅法.此线程在调⽤Start()时传⼊所需参数。
(写代码时我在想为什么带参数线程只能传⼀个object参数?看了代码才知道ParameterizedThreadStart只有⼀个参数没有重载)。
执⾏结果:
Main Write:M 为主线程打印。
A:为线程ThreadA打印。
BP:为带参数线程ThreadB打印。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。