线程安全问题?
public static StringBuilder getFullMsg(byte buffer[], int len, InputStream is)
throws Exception
{
StringBuilder msg = new StringBuilder();
int i = 0;
for(i = is.read(buffer); i > -1; i = is.read(buffer))
{
String str = new String(buffer, 0, i);
msg.append(str);
if(msg.toString().getBytes().length == len)
break;
buffer = new byte[len - i];
}
return msg;
}
这个静态方法在多线程中调用会产生线程安全问题吗?
throws Exception
{
StringBuilder msg = new StringBuilder();
int i = 0;
for(i = is.read(buffer); i > -1; i = is.read(buffer))
{
String str = new String(buffer, 0, i);
msg.append(str);
if(msg.toString().getBytes().length == len)
break;
buffer = new byte[len - i];
}
return msg;
}
这个静态方法在多线程中调用会产生线程安全问题吗?
...全文
相关推荐
Java多线程模拟售票程序和线程安全问题
本篇文章给大家分享了Java多线程模拟售票程序和线程安全问题的相关知识点,对此有兴趣的朋友可以参考学习下。
基于java线程安全问题及原理性分析
下面小编就为大家带来一篇基于java线程安全问题及原理性分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Java的线程安全内存模型.docx
什么是线程安全问题? 当 多个线程 同时共享同一个 全局变量 做 写 的操作时候,可能会受到其他线程的干扰,导致数据 脏读 。(数据一致性问题) 如何解决线程安全问题? 核心思想:在同一时刻,只能有一个线程执行。 通过加锁使线程更加安全,也使程序的执行效率更低。 衡量线程安全的3个要素: o原子性:一个操作或者多个操作要么全部执行,要么都不执行 o可见性:多个线程访问同一变量,一个线程修改了变量的值,其他线程可以立即看到修改的值 o有序性:程序按照代码的顺序先后执行(与指令重排有关)
C#event线程安全
突然想到有关C#中使用event特性时关于线程安全的问题,以前虽然有遵从“复制引用+null判断”的模式(盲目地),但没有深入了解和思考。为之查询了资料和实验,对此有了进一步的理解。 定义(field-likeevent): 类内raise: 不禁要问,为何要复制引用?多线程下表现如何? 为了解决上面哪些疑惑,我查了一些资料,其中有来自当时C#编译器开发组成员的一
Struts线程安全
struts线程安全,里面讲述了struts中的一些关于线程的安全方面的介绍。


高性能WEB开发
