多线程是不是 只是指通过new Runnable()再创建个线程 去干其它事情? 那我的项目里没有创建过其它线程是不是就是单线程环境? 类似 秒抢 的环境下,同时几个用户点击秒抢, 要实现互斥同步,需不需要用synchronized ()把关键代码括起来,这几个用户同时发出的请求是一个线程依序执行的吗?如果是那不就不需要用synchronized ()实现互斥同步吗?这几个概念有点模糊 混淆,请多指教 或者 推荐一些关于理清这方面的书籍或文章给我,谢谢
如果你有用过socket就知道,很多用户同时发出请求,在一个时间点服务器只能处理一个用户的请求,如果你没有采用多线程的话,那么服务器只有处理完 当前用户的请求之后,才能处理下一个用户的请你。如果用了多线程,那么下个用户请求时就不用等到上个用户处理完再处理,而是可能某个时间点会切换到 当前用户的请求处理。如果多线程之间没有数据共享,那么可以不用synchronized。你可以去找些专门讲java多线程并发的书籍看看。