乐之源- 21:15:05
servlet这个类本身是不是线程同步的?
阿古- 21:15:46
类本省怎么同步?
我不知- 21:16:28
最好不要用同步
乐之源- 21:17:06
是不是struts的action也是同样的情况>
我不知- 21:17:14
编写SERVLET不要把方法使用的变量定义为类变量..
阿古- 21:17:23
这个我不清楚
要看其实现了!
我不知- 21:17:28
对..STRUTS也是
阿古- 21:17:55
ww2是线程安全的
阿古- 21:18:02
action
我不知- 21:18:12
对
阿古- 21:18:33
不用struts
麻烦
乐之源- 21:19:03
嘻嘻,我也觉着
孤魂野鬼- 21:19:29
ww2是线程安全的
why
乐之源- 21:19:36
ww2?是什么?
阿古- 21:19:59
webwork2
因为把action 和ThreadLocal绑定
孤魂野鬼- 21:20:41
说实话,看了半天ThreadLocal 也没看懂
阿古- 21:20:57
呵呵
孤魂野鬼- 21:21:05
可以搬个板凳,听讲座么?
乐之源- 21:21:06
看来得看看webworks了,好多新东东
阿古- 21:21:33
webwork比起struts有很多优点
孤魂野鬼- 21:22:14
知道
孤魂野鬼- 21:22:20
Tapestry更好
乐之源- 21:22:32
不会吧,怎么又有一个了
农民 - Javen- 21:22:37
后来者总是会站在前者的肩膀上, .net 与 Java 的关系我想也类似吧。
阿古- 21:22:47
tapestry
有很多问题
我现在想不通
孤魂野鬼- 21:22:57
孤魂野鬼- 21:23:22
讲讲ThreadLocal?
阿古- 21:23:25
.net的那个东东,
我觉得更像taglib
只不过VS.net支持其可视化操作而以!
农民 - Javen- 21:24:08
ThreadLocal 有兴趣听听哦。
孤魂野鬼- 21:24:13
孤魂野鬼- 21:24:20
农民 - Javen- 21:24:08
ThreadLocal 有兴趣听听哦。
孤魂野鬼- 21:24:25
您是大牛
阿古- 21:24:43
不好意思
我也不是很明白哈
农民兄来讲将哈!
农民 - Javen- 21:24:48
晕,我不懂,真的。 谁讲讲,我也搬过凳子坐下慢慢听
孤魂野鬼- 21:25:01
我g一下
阿古- 21:25:11
我还没有仔细研究过
不过Robbin有相关文章讲解!
乐之源- 21:25:13
我还是站着听吧
深入浅出- 21:25:44
搬个凳子做第一排
阿古- 21:26:38
感觉有点像进程
但是还没有搞明白到底是怎么实现的
阿古- 21:26:54
可以看看ThreadLocal的源代码!
孤魂野鬼- 21:27:14
概念也行
深入浅出- 21:28:08
什么东东?
阿古- 21:30:57
有空要好好研究一下!
阿飞- 21:31:28
我只见过win32里的线程本地存储。
阿古- 21:32:07
是不是一样的?
讲讲看
孤魂野鬼- 21:32:08
public class ThreadLocal
extends Object
via its get or set method- has its own, independently initialized copy of the variable.
孤魂野鬼- 21:32:34
ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一
个Thread,而是thread local variable(线程局部变量)。
深入浅出- 21:32:48
嗯
阿古- 21:33:32
那跟thread有什么关联呢?
阿飞- 21:33:35
因为线程只有自已的“程序计算器,执行栈”,而没有自已的进程数据块,而
ThreadLocal提供了这种机制。
阿飞- 21:33:49
因为线程只有自已的"程序计数器,执行栈",而没有自已的进程数据块,而
ThreadLocal提供了这种机制。
阿古- 21:33:49
那跟thread有什么关联呢?
阿飞- 21:34:16
在没有引入ThreadLocal时,所有线程共享所在进程的数据块。
孤魂野鬼- 21:34:17
也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用
非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以
独立地改变自己的副本,而不会和其它线程的副本冲突。
阿飞- 21:34:33
是的。
孤魂野鬼- 21:34:36
所有的县城数据共享?
阿飞- 21:35:05
共享同一进程的数据块。
孤魂野鬼- 21:35:42
ThreadLocal是不是类似多个进程?
阿飞- 21:36:45
不是,它是一种机制,为每线程分配可重入的数据块的机制-不是执行栈。
阿飞- 21:37:31
还记得:win32为每进程分配4G的地址空间吧。
阿古- 21:39:09
只是进程的变量有线程的本地副本而以??
阿飞- 21:41:11
1)每一线程必属于一个进程。
2)每线程默认只有“程序计数器,执行线..”。
阿飞- 21:42:48
但某一线程-执行了两个函数时,在第2个函数中想使用第1个函数中的设置值,如何办呢。
孤魂野鬼- 21:43:35
感觉进程像个工程,进程想里面的任务!
孤魂野鬼- 21:43:54
工程有资源,比如变量
孤魂野鬼- 21:44:12
第一个任务完成了,进程的变量变化了,第二个进程可以使用?
孤魂野鬼- 21:44:22
可以有多个任务
阿飞- 21:44:38
办法是:
1)将第1函数的栈变量传到第2个函数。
2)使用该线程所在进程的全局变量。
2)使用ThreadLocal.
孤魂野鬼- 21:45:25
ThreadLocal 怎么同步?
阿古- 21:45:39
不用同步
孤魂野鬼- 21:45:47
每个线程都有变量,怎么给别人?
孤魂野鬼- 21:45:56
你变了,别人没变
孤魂野鬼- 21:45:58
怎么用?
阿古- 21:46:25
各干各的,
不传值吧?
阿飞- 21:47:14
ThreadLocal-相当于为当前线程(人)分专用箱,除了该线程可以使用外,别人(线
程)无权使用。
阿古- 21:47:54
有点像进程
没有像进程那样重量级?
孤魂野鬼- 21:47:54
办法是:
1)将第1函数的栈变量传到第2个函数。
2)使用该线程所在进程的全局变量。
3使用ThreadLocal.
所以第三个不行吧?
孤魂野鬼- 21:48:24
是呀,感觉like 进程了
阿古- 21:48:28
ThreadLocal是用来保护本地变量的
孤魂野鬼- 21:49:48
http://www.yesky.com/SoftChannel/72342371961929728/20031208/1751307.shtml
孤魂野鬼- 21:50:04
咋一谈技术,就都不说话了泥
阿古- 21:50:26
看看文章哈
孤魂野鬼- 21:50:35
阿飞- 21:51:37
看看OS的书就知道了,另外n久以前的win32核心编程-其中提到了ThreadLocal.