Comments (1)
您好,最近我们团队在做一些与责任链相关的coding,拜读了您的源码,深受启发,感谢!
DefaultKeyIdentificationChain.java在匹配对应的KeyIdentification时:
List<KeyIdentification> identifications = identifyMap.get(workflowId); if(identifyIndexMap.containsKey(workflowId)) { index = identifyIndexMap.get(workflowId) == null ? 0 : identifyIndexMap.get(workflowId); } else { index = 0; } if(index == identifications.size()) return IdentificationResultType.NO_MATCH; KeyIdentification keyIdentification = identifications.get(index); index ++; identifyIndexMap.put(workflowId,index); return keyIdentification.doIdentify(identifyCriterion,this);
当多个线程同时进行doIdentify()时,线程之间的index++是否会受到干扰?望指教!我们目前在这个地方使用ThreadLocal处理,是否有这个必要?
感谢支持,共同进步!
关于您提到的并发问题,由于我项目中并未有此场景,所以并未考虑并发问题,按我的理解,你加入TheadLocal也是可以的。不过也可以考虑使用Atomic包中的解决方案。
from designpatterns.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from designpatterns.