1
neptuno OP 初学没多久,想问一下大家,java 中动态代理是线程安全的吗?
|
2
neptuno OP 还是说我对线程安全有什么误解
|
3
hduwillsky 2018-08-24 09:07:22 +08:00 via iPhone
先要弄清是什么,再问为什么
|
4
codechaser 2018-08-24 09:07:26 +08:00 via Android
@xumincheng123 得看什么处理
|
5
neptuno OP @hduwillsky 所以动态代理线程安全吗
|
6
neptuno OP @codechaser 比如说里面获取代理类 class 的时候,获取字节码
|
7
BBCCBB 2018-08-24 09:16:05 +08:00
你对线程安全有误解.. 动态代理只是生成一个代理类而已, 和代理模式一样的道理, 线程安全和是不是动态代理没啥关系
|
9
CoderEQ 2018-08-24 09:21:35 +08:00 via Android
你找你同学替你去买早饭,如果你说:你们谁帮我去买个早饭?然后没啥限制,导致有俩同学都买来了早饭。那就是不安全的。如果你说:你们谁帮我去买早饭,买一份就行了,然后大家举手,然后你点名说,张三就你去吧。然后你就只会买到一份早饭。嗯,不知道我的理解有没有问题,仅供参考
|
10
neptuno OP @CoderEQ 谢谢你,这个是我懂的,可能我提问没说清楚,我的意思是获取代理对象的时候会不会有多个对象,刚才看了下源码,发现获取代理类的时候是对 cache 进行同步的
|
11
ClutchBear 2018-08-24 09:32:49 +08:00
是不是线程安全根本在于
多个线程是不是对同一个数据进行写操作. 如果没有, 就永远不会有线程安全的问题. |
12
neptuno OP @ClutchBear 好的,我明白了,谢谢哈
|
13
deming 2018-08-24 09:40:23 +08:00
动态代理可以理解为是一种模式,一种编程的手段和方式,作用就是生产代理对象,完成某些额外功能。
线程安全,则是另外一个概念。线程安全跟是否有“共享资源”,是否有多线程访问“共享资源”有关系。 |
15
hduwillsky 2018-08-24 10:08:50 +08:00
@neptuno 楼上各位大佬已经帮你弄清楚了。
|
16
neptuno OP @hduwillsky 好的,谢谢,麻烦你了
|
17
hduwillsky 2018-08-24 11:31:17 +08:00 via iPhone
@neptuno 不客气,李时珍的皮
|