您的位置:首页 > 线程
线程 标签下有 6 篇文章

Thread.Sleep与Task.Delay的区别

362次阅读|339次收藏|60次赞

ASP.NET中可以使用Thread、Task创建线程,如果需要将某个线程睡眠或者延迟,则可以使用Thread.Sleep()或者Task.Delay()方法,但是,Thread.Sleep与Task.Delay的区别有哪些呢?

进程和线程的区别有哪些

218次阅读|495次收藏|277次赞

进程和线程的差别简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

C# volatile与lock

404次阅读|287次收藏|313次赞

C#中volatile 关键字表示字段可能被多个并发执行线程修改,声明为volatile的字段可以确保该字段在任何时间呈现的都是最新的值。C#中lock关键字,可以把一段代码定义为互斥段,互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。

c# Invoke和BeginInvoke 区别

541次阅读|316次收藏|161次赞

BeginInvoke() 调用时,当前线程会启用线程池中的某个线程来执行此方法,当前线程不被阻塞,继续运行后面的代码, Invoke() 调用时,会阻塞当前线程,等到 Invoke() 方法返回才继续执行后面的代码,而这两个方法中执行的是一个委托。

C#中BeginInvoke与EndInvoke

124次阅读|320次收藏|198次赞

C#中BeginInvoke方法可以使用线程异步地执行委托所指向的方法。然后通过EndInvoke方法获得方法的返回值(EndInvoke方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用。当使用BeginInvoke异步调用方法时,如果方法未执行完,EndInvoke方法就会一直阻塞,直到被调用的方法执行完毕。

C# Task实现多线程

344次阅读|414次收藏|481次赞

C# 中Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观,代码更简洁了,使用Task来进行操作,可以跟线程一样可以轻松的对执行的方法进行控制。Task使用时需要引用名称空间System.Threading.Tasks,下面为大家C#中利于task实现多线程的方法

您最近浏览过的文章