面试-一个web项目并发问题。

问题描述

一个web项目并发问题。

有一次面试被问到一个并发问题:
如果两个人同时竞价,在几乎同时点击竞价按钮的时候,这个web应用程序是如何做出判断到底谁先做出竞价的?

解决方案

我简述一下我的个人观点:

两个人同时点击竞价按钮,向WEB发送请求时:

首先,网络情况是不一样的,谁的请求先发送到服务器,自然服务器认为谁先做出竞价。

其次,假设请求又刚好同时到达服务器,那么自然是谁先拿到Lock就是谁先做出竞价。

有可能同时拿到Lock吗?

对于单CPU来说,没有可能,通过操作系统原理我们得知:

多进程及多线程其实也不过是通过不停切换CPU在各进程(线程)来实现的。

也 就是同一个瞬间,CPU只能做一件事。

希望我的观点对你有帮助。

解决方案二:

这个是涉及到并发的问题了,,同时发出请求的话,,总有一个谁先谁慢的

解决方案三:

先判断是否两个人都提交的数据合法成功了,然后就是可以客户端上提交的时候带上自己的时间戳等,不过要记得加密等,不让人破解,这样服务器端可以根据这个来判断

解决方案四:

我想应该是用数据库中的数据锁来解决

解决方案五:

我想应该是用数据库中的数据锁来解决

时间: 2016-06-09
Tags: web, 面试, 并发, j2ee

面试-一个web项目并发问题。的相关文章

eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)

在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会弹出一个对话框,"Dynamic web module version"这个选项默认成了3.0,按照老规范,应该是在eclipse的WebContent \ WEB-INF \ 目录下创建web.xml的.而新规范是可以不用web.xml的,如tomcat 7.0就支持新规范,这样相关的s

hibernate-Maven test一个Web项目,报错,弄了一天没弄好,求高手解答

问题描述 Maven test一个Web项目,报错,弄了一天没弄好,求高手解答 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultServletHandlerMapping' defined in class path resource [org/springframework/web/servlet/config/annotation/Delegating

服务器-一个web项目,如何提供给外网使用?

问题描述 一个web项目,如何提供给外网使用? 如题:我用spring+mybatis+mysql写了一个web的项目,如何提供给外网使用, 已经申请好域名和空间. 只是不知道步骤, 1.怎么将自己的web项目发布到外网? 2.数据库怎么连接? 3.如何启动服务器? PS:小白一个,有太多不明白的地方,还请大神概括下基本的步骤. 解决方案 最好是再租用一个云服务器.用自己的PC作为服务器有如下问题: (1)天朝和谐了80端口,所以必须换端口,地址上拖上一个端口号,而且搜索引擎也不待见 (2)家庭

xml-怎样搭建一个web项目那些框架怎么配置

问题描述 怎样搭建一个web项目那些框架怎么配置 怎样搭建一个web项目那些框架怎么配置,xml怎么配置,怎么知道那个框架怎么写配置,求大神详细解答 解决方案 你可以使用三大框架,一般网上都有这样的范例的. 解决方案二: 需要看你用什么框架,现在框架太多了,不过不同的框架都有一些帮助文档告诉你如何配置 解决方案三: 要看你用什么框架了,给你一个SSH框架的搭建步骤吧http://blog.csdn.net/yeohcooller/article/details/9316923

在传智播客下了一个web项目,但是报错,请各位大神指教(初学java)

问题描述 在传智播客下了一个web项目,但是报错,请各位大神指教(初学java) log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog). log4j:WARN Please initialize the log4j system properly. 2015-9-23 14:16:25 org.apache.catalina.core.StandardWrapperValve invoke 严重:

spring mvc-我用springMVC写了一个web项目,加载到tomcat8上后启动出现此异常,请懂得的来帮忙看下

问题描述 我用springMVC写了一个web项目,加载到tomcat8上后启动出现此异常,请懂得的来帮忙看下 异常信息如下: 严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring_mvc]] at or

代码- B/S架构的一个web项目,在VS2010中用C#语言编写

问题描述 B/S架构的一个web项目,在VS2010中用C#语言编写 B/S架构的一个web项目,在VS2010中用C#语言编写 编写代码:从前台页面中读取exl表中的数据,以及在后台页面将数据写入exl表中 解决方案 可以使用NPOI这个库,参考:http://blog.csdn.net/jyz123456/article/details/7966844 解决方案二: C#操作EXCEL,一般都是用NPOI这个类库来实现

tomcat-启动一个WEB项目出错,但是就是找不到原因

问题描述 启动一个WEB项目出错,但是就是找不到原因 严重: StandardWrapper.Throwable java.lang.NoClassDefFoundError: Lcom/zlh/common/api/RedirectApi; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Unknown Source) at java.lang.Cl

java架构师-成为一个web项目高手,需要什么知识点

问题描述 成为一个web项目高手,需要什么知识点 知识点越详细越好,比如定时任务spring task,缓存ehcache,求工作三五年内高级工程师指点 解决方案 首先要了解web的底层技术Servlet的原理及使用,然后就是还基础上的各种框架技术SSH,Spring MVC等框架的使用,进阶知识的话有必要了解下servelet容器的原理.总的来说熟能生巧,经历的项目多了,技术知识自然能得到积累. 解决方案二: Web架构师成长之路 Bing:web项目高手 架构师 要求