随笔分类 - thread
摘要:一、Thread (System.Threading) 1.前台线程和后台线程 只要有一个前台线程在运行,应用程序的进程就在运行,直到所有前台线程完成其任务为止。在默认情况下,用 Thread类创建的线程是前台线程。线程池中的线程总是后台线程。在用 Thread类创建线程时,可以设置 IsBackg
阅读全文
摘要:ConcurrentBag 集合 表示对象的线程安全的无序集合。 static void Main(string[] args) { ConcurrentBag<int> thList = new ConcurrentBag<int>(); Parallel.For(0, 100000, a =>
阅读全文
摘要:要避免同步问题,最好不要在线程之间共享数据。当然,这并不总是可行的。如果需要共享数据,就必须使用同步技术。如果不注意这些问题,就很难在应用程序中找到问题的原因,因为线程问题是不定期发生的。 1. lock C#为多个线程的同步提供了自己的关键字:lock语句。lock 语句获取给定对象的互斥 loc
阅读全文
摘要:假设有一个异步方法taskDo,返回一个Task类型。当我们用任务执行该异步方法,且需等待该方法执行完成时,应该如何创建任务呢??? static void WriteLine(object line) { Console.WriteLine(DateTime.Now.ToString("mm:ss
阅读全文
摘要:位于 System.Threading.Tasks.TaskContinuationOptions Thread是基于操作系统级别的线程,而ThreadPool和Task不会创建自己的操作系统线程,二者是由任务调度器(TaskScheduler)执行,默认的调度程序仅仅在ThreadPool上运行。
阅读全文
摘要:当我们多线程执行同一个方法时,如果没有公共使用数据时,没啥问题?但是需要访问同一个对象时,如果没有锁的话,会出现数据丢失的可能! 例如下面的例子:没有锁时,集合长度可能不满足设定值 using System; using System.Collections.Generic; using Syste
阅读全文

浙公网安备 33010602011771号