小编use*_*096的帖子

如果我有静态变量,WebServices是无状态的吗?

假设我有一堆方法的Web服务,并且web服务上有一个公共共享变量,如果我从客户端A收到请求并且他更改了此变量的值,那么客户端B将看到值Changed by客户A?

让我试着更好地解释自己,例如

假设我有这个变量:

Public Shared state As Boolean = False(Visual Basic)
public static bool state = false; (C#)
Run Code Online (Sandbox Code Playgroud)

然后客户A去了

 state = true (VB)
 state = true; (C#) 
Run Code Online (Sandbox Code Playgroud)

当客户端B检查变量状态的值时,它是真还是假?

c# vb.net variables static web-services

2
推荐指数
1
解决办法
483
查看次数

如何动态锁定线程并避免竞争条件

我正在尝试动态锁定线程,但无论我尝试什么,总会发生某种竞争条件,这似乎是由多个线程同时启动任务引起的,但我一直无法找到一个好的答案这。

这是一个例子:

using System.Linq;
using System.Threading;
using System.Threading.Tasks;

public class Example
{
public static readonly Object padLock = new Object();
public readonly static ConcurrentDictionary<string, object> locks = new 
ConcurrentDictionary<string, object>();
public static List<string> processes = new List<string>();

public static void Main()
{
  //Add random list of processes (just testing with one for now)
  for (var i = 0; i < 1; i++) {
     processes.Add("random" + i.ToString()); 
  }

  while (true)
  {
     foreach (var process in processes )
     {
        var currentProc = …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing multithreading thread-safety threadpool

0
推荐指数
1
解决办法
2697
查看次数