C#多线程
Muzijin0129
这个作者很懒,什么都没留下…
展开
-
非线程安全与线程同步技术
非线程安全是指多线程操作用一个对象可能出现问题。线程安全就是多线程访问时,采用加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到这个线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能多个线程先后更改数据造成所得到的数据是脏数据。看下面这个例子: static int num = 0; ...原创 2020-02-10 16:58:01 · 215 阅读 · 0 评论 -
线程的容器——线程池
我们在创建或销毁一个线程时需要一定的内存开销,过多的使用线程会造成内存资源的浪费。为了解决这一问题,引入了线程池的概念。线程池里的线程是怎么工作的呢?当应用程序需要创建线程时,线程池会初始化一个线程,这个线程和其他的线程一样,但是使用完后不会自行销毁,而是以挂起的状态,回到线程池中,当应用程序再次对线程池发出请求时,线程池里挂起的线程会再度被激活。这样可以减少创建或销毁一个线程时需要的内存开销。...原创 2020-02-09 18:16:08 · 541 阅读 · 0 评论 -
构造有参数的线程
如果方法有参数的话,我们就需要ParameterizedThreadStart,转到定义可以看出ParameterizedThreadStart是一个委托,参数类型必须是Object类型。可以用线程的Start方法传入参数。 static void Worker(object data) { Thread.Sleep(1000); ...原创 2020-02-09 17:37:55 · 253 阅读 · 0 评论 -
将线程设置成后台线程
将线程设置成后台线程线程分为前台线程和后台线程.NET的CLR会区分这两种不同的线程,这两种线程的区别在于,应用程序必须等到前台线程全部运行完之后才可以退出;而对于后台线程,应用程序可以不考虑后台线程是否运行完毕直接退出,后台线程在应用程序退出时自动结束。所以后台线程用于处理时间较短的任务,比如在一个服务器利用后台线程处理客户端发来的请求信息。而前台线程一般用于需要长时间等待的任务,如在服...原创 2020-02-09 17:18:58 · 1487 阅读 · 0 评论 -
线程与进程
线程主要由CPU寄存器、调用栈、线程本地存储器(Thread Local Storage,TLS),组成的。CPU寄存器原创 2020-02-09 16:39:50 · 160 阅读 · 0 评论