C# 线程的问题

可能问题有点多、本人新手、想问问C#编程中线程是什么?我看了很多说明、我个人愚昧理解是不是在线程里写程序、可以让程序运行流畅还是怎么说?有没有直接易懂的C#线程操作代码给... 可能问题有点多、本人新手、想问问 C# 编程中线程是什么? 我看了很多说明、我个人愚昧理解是不是 在线程里写程序、可以让程序运行流畅还是怎么说? 有没有直接易懂的C#线程操作代码给学习学习 展开
 我来答
有你们真好A
2013-09-11 · TA获得超过259个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:108万
展开全部
先来看看什么是线程:
1,线程内核对象, Windows为应用程序所创建的每个线程都有一个线程内核对象,这个对象包含一组对线程进行描述的属性,除此之外,还包含一个线程上下文(thread context),这个上下文是一个内存块,这个内存块用来包含CPU的寄存器集合(什么?你不知道CUP寄存器?火速去百度)。
2线程环境块,包含一个内存块和一个异常处理链,还有些本地存储数据,GDI图形使用的一些数据结构。个人感觉没啥用,知道有就行。
3,用户模式栈,用来用户的操作带来的局部变量和实参,好比函数,程序执行到Add(i),那么它在执行函数之前会存下进入函数的地址,然后等函数调用完成之后再返回先前记录的地址,然后执行下一步。这个用户模式栈也就这用,要知道的是,Windows最少要为它分配1MB内存。
,4内核模式栈,在用户模式栈传递实参使会用到内核模式栈,调试大家都用过吧? 在调试程序的时候,是不是不能修改代码了?关键就在这,你执行程序之后,用户模式栈不能访问内核栈,你写的代码都送去内核了。
5,DLL线程连接和线程分离通知,用过引用吧?这东西就是你在调用外部程序时需要提前引用一下的原因。加载这个程序,需要用到引用,正如没有引用,你程序就会出错。
匿名用户
2013-09-11
展开全部
一般用于防止UI无响应
在一些操作中你花时间长了,UI就不能响应操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牧元思4
2013-09-11
知道答主
回答量:11
采纳率:0%
帮助的人:6万
展开全部
我个人在c#编程中使用线程,一般都是为了防止界面无响应,如果是控制台程序,还好,这种UI界面无响应,程序直接死掉的情况在窗体程序中尤其重要,当运算量大的时候,就后台建立一个线程,单独运算,窗体自己站一个,这样就不会出现UI无响应了.
Thread t = new Thread(new ThreadStart(方法));
t.start();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱吃糖的好吃鱼
2013-09-11
知道答主
回答量:2
采纳率:0%
帮助的人:2853
展开全部
using System;
using System.Threading;
class A
{
public static void B()
{
Console.WriteLine("子线程开始运行 ! ! !");
int time = 5000;
Console.WriteLine("该线程休眠:{0}秒",time/1000);
Thread.Sleep(time);
Console.WriteLine("正在被唤醒 ! ! !");
}
public static void Main(string[] args)
{
ThreadStart tc = new ThreadStart(B);
Console.WriteLine("主线程——创建子线程 ! ! !");
Thread aa = new Thread(tc);
aa.Start();
Console.WriteLine("主线程——启动子线程 ! ! !");
Console.ReadLine();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzh3452
2013-09-11 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:849万
展开全部
说到线程,首先的知道他和进程的区别,在Windows中,一个进程可以包含多个线程,各个线程相对独立,但可以通过线程间通信方式互相访问,而进程间多数是不能通信的,除非都是你写的或者留有通信接口的。
然后,是他的作用,对于windows程序,默认进程只包含一个主线程,用于响应界面操作和后台代码执行,包括由系统来做的画面更新都在这里做,所以,如果你有个处理需要执行很久,那么主线程就会停下来执行你的程序,界面就会出现无响应的现象。但如果你用了线程,那么可以用另一个线程来执行你的代码,那么主线程就可以继续响应界面,就不会有无响应的问题了,同时你还可以做个进度条显示处理进度,或者用户可以做别的操作,而不会受到影响。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式