社区
C#
帖子详情
大家来看看这样写会不会有并发问题?
zahuifan
2005-03-15 11:01:44
有这样一个类:
class Student {
private static string _name = "";
public void setName(string arg) {
_name = arg;
}
}
由于 _name 是一个静态变量,如果有许多用户同时使用Web页面调用 student.setName("zhf"),会不会有并发冲突的问题,如何避免?
...全文
92
13
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
13 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tmeteor
2005-03-15
会,看例子
using System;
namespace CollisionTest
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
Student s1=new Student ();
s1.setName ("first");
Console.WriteLine(Student.Name);
Student s2=new Student ();
s2.setName ("second");
Console.WriteLine(Student.Name);
}
}
class Student
{
private static string _name = "";
public void setName(string arg)
{
_name = arg;
}
public static string Name
{
get
{
return _name;
}
}
}
}
打赏
举报
回复
赞
doubon
2005-03-15
不要声明为静态变量
private string _name = "";
打赏
举报
回复
赞
cqzhangq
2005-03-15
会有冲突,如果一个用户设置了值,那么_name都会改变,会影响所有用户。
写个程序试下就知道了
打赏
举报
回复
赞
cqzhangq
2005-03-15
会有冲突,如果一个用户设置了值,那么_name都会改变,会影响所有用户。
如果要每个用户都独自使用自己的变量,就需要用实例的变量,就是不用静态变量。
打赏
举报
回复
赞
心情解码
2005-03-15
:)
--
打赏
举报
回复
赞
xxuu503
2005-03-15
没有
打赏
举报
回复
赞
bomb_boy
2005-03-15
怎么回事,怎么都是整分钟发帖?
2005-03-15 11:06:00
2005-03-15 11:06:00
2005-03-15 11:07:00
2005-03-15 11:08:00
2005-03-15 11:09:00
难道没有记秒,我还以为大家都这魔巧呢,原来是系统不够精确
打赏
举报
回复
赞
bomb_boy
2005-03-15
同时间回帖,可能微秒不一样,难怪我发帖时速度一下N慢,原来时内部冲突了,呵呵!
打赏
举报
回复
赞
bomb_boy
2005-03-15
回复人: 3tzjq(决定放弃VB.Net,重新学习C#) ( ) 信誉:100 2005-03-15 11:06:00 得分: 0
回复人: bomb_boy(梦之星) ( ) 信誉:95 2005-03-15 11:06:00 得分: 0
打赏
举报
回复
赞
tylike
2005-03-15
ms-help://MS.MSDNQTR.2003FEB.2052/csref/html/vclrflockstatement.htm
打赏
举报
回复
赞
spz1755
2005-03-15
跟一下试试,理论上不知道。
打赏
举报
回复
赞
bomb_boy
2005-03-15
绝对不会
打赏
举报
回复
赞
3tzjq
2005-03-15
不会!如果虽然_name 是静态变量,但类Student 是一个被实例化的对象。所以...
打赏
举报
回复
赞
相关推荐
public void setName(String name ){}既然setName冒得返回值那为什么括号里面要加String name?为什么不是public void setName(){}?
这样
写呢?
class Person{ private int age; private String name; public void setAge(int age){ this.age=age; } public void setName(String name ){ this.name=name; } public int getAge(){ return age; } public String getName(){ return name; } protected String getInfo(
怎末总是编译不出
来
,老是出错?
class Person{ private String name; private int age; public void setName(String name){ this.name=name; } public String getName(){ return name; } public void setAge(int age){ this.age=age; } public int getAge(){ return age; } } class Student extends Pe
新手
问题
!求解决
谁知道这代码错在哪了啊?搞了半天也没找出
来
。 class Person{ private String name; void setName(String n){ this.name = n; } String getInfo(){ return "name is"+ this.name; } } class Student extends Person{ private String school; void setSchool(String s){ this.school = s; } St
大家
帮帮忙
看看
错在哪里了 学生2维数组
问题
public class Student { public String SetName; private String Name; public String getName(){ return Name; } public void SetName (String name) { this.Name = name; } } class Test { public static void main (String[] args){ Student[][] Student = new Stud
java调用.net Webservice的会话状态
问题
Web Service代码 class Student : System.Web.Services.WebService { private String name; [WebMethod (EnableSession=true)] public String getName() { return (String)Session["NAME"]; } [WebMethod (EnableSession=true)] public void setName(String aName) { Sess
发帖
C#
微信扫一扫
点击复制链接
分享社区
下载分享明细
10.8w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
帖子事件
创建了帖子
2005-03-15 11:01
社区公告
让您成为最强悍的C#开发者