iwantadream
iwantadream
采纳率100%
2017-01-08 09:43

JAVA线程/并发/请求的关系是怎么样的

已采纳

多线程是不是 只是指通过new Runnable()再创建个线程 去干其它事情?
那我的项目里没有创建过其它线程是不是就是单线程环境?
类似 秒抢 的环境下,同时几个用户点击秒抢, 要实现互斥同步,需不需要用synchronized ()把关键代码括起来,这几个用户同时发出的请求是一个线程依序执行的吗?如果是那不就不需要用synchronized ()实现互斥同步吗?这几个概念有点模糊 混淆,请多指教 或者 推荐一些关于理清这方面的书籍或文章给我,谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • a648422720 Lu_YuanWei 4年前

    如果你有用过socket就知道,很多用户同时发出请求,在一个时间点服务器只能处理一个用户的请求,如果你没有采用多线程的话,那么服务器只有处理完
    当前用户的请求之后,才能处理下一个用户的请你。如果用了多线程,那么下个用户请求时就不用等到上个用户处理完再处理,而是可能某个时间点会切换到
    当前用户的请求处理。如果多线程之间没有数据共享,那么可以不用synchronized。你可以去找些专门讲java多线程并发的书籍看看。

    点赞 2 评论 复制链接分享
  • u012976158 强化脑细胞 4年前

    单线程和多线程的区别是在于 你每次是否操作同一个线程 如果是多线程 那么你读代码就会明白 每次 操作的是重新创建的线程
    保证线程安全 有三种方式: 第一种 用ThreadLocal 定义变量 , 第二种 用同步锁 也就是你说的synchronized , 还有一种springmvc 和spring整合做项目的时候,注解的开发方式,就是使用局部变量,随着方法的消失而消失

    点赞 评论 复制链接分享

相关推荐