C#多线程同用全局变量,怎样保持每个线程的变量不会被别的线程把值覆盖掉?
1个回答
展开全部
HashTable,每个线程用key往自己的value里面写东西,外界通过key访问每个线程写的东西,同理,dataTable也行啊,只要用标识区分开不同的row就可以了,或是每个线程一个dataTable,都放到dataSet中,通过表名就取到了。
介绍:
在一个程序中,这些独立运行的程序片断叫作“线程”,利用它编程的概念就叫作“多线程处理”。
定义:
每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。
拓展:
多线程块模型在每个进程里只有一个块而不是多个块。这单个块控制着多个线程而不是单个线程。这里不需要消息队列,因为所有的线程都是相同的块的一个部分,并且可以共享。这样的程序比单线程模型和STA的执行速度都要快,因为降低了系统的负载,因而可以优化来减少系统idle的时间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询