全局变量的一个问题 我在线程里面给全局变量赋值,如ShareBL.XY = 99;然后在当前线程直接Console.WriteLine(ShareBL.XY);为什么显示的结果为0呢?求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ 你需要提供更详细的信息, 比如: ShareBl.XY=0 是初始值吗?还有 WRITELINE 跟 复制的语句是一个线程吗? ShareBl.XY的初始值是这么设置的: public static int XY;ShareBl.XY=99是在线程里面赋值的,我在主线程里面用Console.WriteLine(ShareBL.XY)打印结果 你靠什么学多线程编程?不要自己想当然。给你写个多线程的例子(尽管这里使用子线程是画蛇添足的)using System;using System.Threading;namespace ConsoleApplication1{ class Program { public static int XY; static void Main(string[] args) { ThreadPool.QueueUserWorkItem(h => { abc(() => { Console.WriteLine(XY); }); }); Console.ReadLine(); } private static void abc(Action callback) { XY = 99; callback(); } }} 或者换个程序using System;using System.Threading;namespace ConsoleApplication1{ class Program { public static int XY; static void Main(string[] args) { var eh = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem(h => { abc(); eh.Set(); }); eh.WaitOne(); Console.WriteLine(XY); Console.ReadLine(); } private static void abc() { XY = 99; } }} datagrid分页导航 请教一个关于sqlite的问题 C#反射中出现的问题,请各位哥哥姐姐给予指教!~~~祝大家新年快乐! c#的安装出来为什么是源码呢 求用C#实现一个JAVA函数 关于两个页面的DataSet互相传值问题-----在线等急!!! 请指出下面代码的运行结果,老规矩,不许用编译器 c#。net窗体间和控件间的数据绑定和传输, Threading.Timer线程终止现象解析 如何让类的方法的说明在写代码时的智能感知上出现 请问,这个正则表达式,哪里错了? winform 中怎样按自己的方式来显示数据
public static int XY;
ShareBl.XY=99是在线程里面赋值的,我在主线程里面用Console.WriteLine(ShareBL.XY)打印结果
using System.Threading;namespace ConsoleApplication1
{
class Program
{
public static int XY; static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem(h =>
{
abc(() =>
{
Console.WriteLine(XY);
});
});
Console.ReadLine();
} private static void abc(Action callback)
{
XY = 99;
callback();
}
}
}
using System.Threading;namespace ConsoleApplication1
{
class Program
{
public static int XY; static void Main(string[] args)
{
var eh = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(h =>
{
abc();
eh.Set();
});
eh.WaitOne();
Console.WriteLine(XY);
Console.ReadLine();
} private static void abc()
{
XY = 99;
}
}
}