web开发中 是否需要开发者自己来处理同步问题?

 浏览器访问server,就是server为各个浏览者开辟不同的线程,当不同浏览者对同一个数据进行不同的操作的时候,是不是应该做同步处理啊?我觉得是这样,但是,我接触的项目中,从来没有考虑过这个事情, 大家说说,到底是不是需要处理?

大部分我们都没有做,但这并不代表这样不会出问题,像你所的那种情况就会出问题。

理想情况下是都应该做的,但是如果都做是要付出性能代价的

比如我们的某个方法做了同步,那一旦有用户访问这个方法,其他用户如果要访问都需要等待前一个用户释放资源,试想:如果同时访问的人比较多,那最后一个用户要等到啥时候?

所以我们一般都选择牺牲一点安全或出现脏数据问题,换取性能的提高。

当然有些情况下还是很有必要做同步的。

servlet本来就是多线程的,servlet容器的意义之一就是硬藏多线程编程的细节(复杂性等等),使得web application的作者们不用考虑这方面的问题。

[quote="water84222"]当不同浏览者对同一个数据进行不同的操作的时候,是不是应该做同步处理啊?[/quote]
这个应该使用数据库事务更自然一些吧。

DB的数据库一致性,是要保证事务的正确的;
DB的同步不需要应用来控制;

AppServer只需要保证线程之间资源访问的同步就可以了.