web开发中的线程安全

DryKillLogic 2009-07-02 04:08:20
大家来讨论一下线程安全在web开发中的应用是否很常见,synchroniz一般在什么情况下使用?
放置session属性时,是不是一定要放置Vector,HashTable等线程安全的集合?
...全文
77 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaray 2009-07-03
  • 打赏
  • 举报
回复
java.util.Vector 是线程安全的(其内部实现了同步问题)
chen7788 2009-07-03
  • 打赏
  • 举报
回复
"synchroniz一般在什么情况下使用?"
要保护对象不会被多个线程同时使用的情况下使用:
打个比方,在获取数据库连接的时候就可以使用同步。
"放置session属性时,是不是一定要放置Vector,HashTable等线程安全的集合?"
Vector,HashTable内部本身就已经实现了同步,并且与session没有关系。
而session是与访问者有关系,每台服务器只给访问者一个sessionID你放在哪里,服务器都是一样处理。
tenderuser 2009-07-02
  • 打赏
  • 举报
回复
呵呵 , 走过 , 路过。。。。。。
DryKillLogic 2009-07-02
  • 打赏
  • 举报
回复
老师说是安全的。。。。。
huhaibo777 2009-07-02
  • 打赏
  • 举报
回复
Vecter 是线程安全的???
robyjeffding 2009-07-02
  • 打赏
  • 举报
回复
关于线程,我们编写的程序大多数可以看成是单线程的.就是程序是按照一定的顺序来执行.如果我们使用线程的话,程序就会在我们创建线成的地方分叉,变成两个"程序"在执行.粗略的看来好象和子进程差不多的,其实不然.子进程是通过拷贝父进程的地址空间来执行的.而线程是通过共享程序代码来执行的,讲的通俗一点就是线程的相同的代码会被执行几次.使用线程的好处是可以节省资源,由于线程是通过共享代码的,所以没有进程调度那么复杂.
多线程好比,你在看电视的时候,嘴里吃着爆米花,心里可能在想着MM,同是做几件事情!
DryKillLogic 2009-07-02
  • 打赏
  • 举报
回复
嗯。。。。。看来是提问方式的问题
主要是我也不知道问什么,只是在这方向上不太清楚
xnjnmn 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 DryKillLogic 的回复:]
为什么这么少人回答呢????
[/Quote]

提问太空泛
不好回答

具体问题具体分析
synchroniz一般在什么情况下使用?
比如你有个任务(eg:放在LIST里)需要多个线程处理
那么就需要在任务上加synchroniz保持不会冲突

DryKillLogic 2009-07-02
  • 打赏
  • 举报
回复
为什么这么少人回答呢????
老紫竹 2009-07-02
  • 打赏
  • 举报
回复
1 先搞懂啥叫线程
2 搞懂为啥要用同步

然后你就会明白,如果多个线程不使用共享的东西,那么就不会有任何问题。
如果使用了共享的东西,那么就得看情况了,一般要使用同步保证不会出现内部的不一致。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧