社区
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"),会不会有并发冲突的问题,如何避免?
...全文
133
13
打赏
收藏
大家来看看这样写会不会有并发问题?
有这样一个类: class Student { private static string _name = ""; public void setName(string arg) { _name = arg; } } 由于 _name 是一个静态变量,如果有许多用户同时使用Web页面调用 student.setName("zhf"),会不会有并发冲突的问题,如何避免?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
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 是一个被实例化的对象。所以...
阿里巴巴面试总结DOC版
阿里巴巴面试总结
如何解决常见的
并发
问题
?
作者 | Beekums 译者 | Rayden 审校 | 王强
并发
错误臭名昭著,常常导致令人十分崩溃的 bug。大多数软件的 bug 是一致的。如果你先做 X,然后做 Y,然后做 Z,你将会得到 Bug A。 但通过
并发
,你会遇到竞争条件(race condition)。这是一个 bug,如果你做 X,然后做 Y,你可能有 10% 的几率得到 Bug A。错误的出现是间歇性的,这使得你很难找到错误根本原因,因为你不能可靠地重现它。这也使得你很难证明你确实解决了这个
问题
。如果 Bug A 发生..
Golang map
并发
读写
问题
源码分析
map介绍及
问题
描述 map主要用来存储kv数据,其底层使用的是开链法去冲突的hashtable,拥有自动扩容机制。使用map最方便的一点是可以O(1)快速查询(目前slice并没有提供查询接口,只能通过自己写算法实现某个元素是否存在)。 map虽然好用,但是可能不适用。 但是map有一个非常致命的坑点,在
并发
场景下,
并发
读/写都可能会出现fatal error:concurrent map read and map write的错误,刚开始使用map的时候天真的认为只要不对同一个key进行
并发
操作就行,但
常见的
并发
问题
有哪些都不知道,还怎么说自己是大佬!!
常见的
并发
问题
有哪些1.
并发
测试1.1
并发
测试的定义1.2
并发
测试的分类2.常见
并发
问题
2.1事务
并发
的
问题
2.2极限值
并发
的
问题
2.3压力
并发
的
问题
2.4异常数据干扰
并发
的
问题
1.
并发
测试 最近小屌丝一直在埋头苦练性能的知(zi)识(shi)~。 很是努力。 但是,小屌丝的最近遇到的
问题
,可是挺棘手的, 例如: 小屌丝:鱼哥,你说这性能测试,是不是就是
并发
测试? 小鱼: 性能测试和
并发
测试,是两个概念,且
并发
测试不等同于性能测试。 小屌丝:鱼哥,那你说,性能测试是不是包含
并发
测试? 小鱼:吐血ing…
高
并发
下如何保证数据库和缓存双写一致性?
前言 数据库和缓存(比如:redis)双写数据一致性
问题
,是一个跟开发语言无关的公共
问题
。尤其在高
并发
的场景下,这个
问题
变得更加严重。 我很负责的告诉你,该
问题
无论在面试,还是工作中遇到的概率非常大,所以非常有必要跟大家一起探讨一下。 今天这篇文章我会从浅入深,跟大家一起聊聊,数据库和缓存双写数据一致性
问题
常见的解决方案,这些方案中可能存在的坑,以及最优方案是什么。 1. 常见方案 通常情况下,我们使用缓存的主要目的是为了提升查询的性能。 大多数情况下,我们是这样使用缓存的: 用户请求过来之后,先查缓存
C#
111,120
社区成员
642,538
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章