A_A333 2018-01-18 02:00 采纳率: 0%
浏览 955
已采纳

java并发问题(SSH相关)

问一:多个客户端访问同一个带有字段的类,会不会有触发到线程安全的问题
问二:多个客户端访问同一个代码块,都会有自己的堆栈吗?
问三:Struts中单例和多例是不是为了解决线程安全的问题。才会有多例
,为每个客户端都创建一个实例

  • 写回答

8条回答 默认 最新

  • bxl_1986 2018-01-18 02:29
    关注

    问一:多个客户端访问同一个带有字段的类,会不会有触发到线程安全的问题

    答:多个客户端访问同一个带有字段的类,如果只是简单的数据读取,不做修改是没有问题的。如果做数据的修改,就会引发线程安全的问题。
    一般情况下,会枷锁来控制。锁要加载,多个线程的交接处。例如,如果多个客户端访问的是同一个主机(一个jvm),通过关键字synchronized就可以控制,如果是多台主机,就要考虑分布式锁了

    问二:多个客户端访问同一个代码块,都会有自己的堆栈吗?
    首先堆和栈是两块内存。堆一般放的是类实例和全局变量。栈一般存放局部变量。多个客户端访问同一个代码的时候,堆是同一个,栈就不是了。

    问三:Struts中单例和多例是不是为了解决线程安全的问题。才会有多例
    ,为每个客户端都创建一个实例
    一般而言单例是为了实现数据共享(查询用).采用单例可以减少类实例的个数,从而减少内存占用和垃圾回收。
    还有一些工具类也可使用单例,不会设计到共享数据的增删改查
    用多例一般会设计到数据的修改,还用单例的话,就会引发线程安全的问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥20 SQL server表计算问题
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)