[ https://issues.apache.org/jira/browse/MATH-1341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15282935#comment-15282935 ]
Luc Maisonobe commented on MATH-1341: ------------------------------------- Seems good to me. > "RandomDataGenerator" is brittle > -------------------------------- > > Key: MATH-1341 > URL: https://issues.apache.org/jira/browse/MATH-1341 > Project: Commons Math > Issue Type: Bug > Reporter: Gilles > Priority: Minor > Labels: API, cleanup, deprecation, thread-safety > Fix For: 4.0 > > Attachments: RandomUtils.java > > > Class {{RandomDataGenerator}} can easily be misused as it advertizes a method > to access its internal RNG (which is _not_ thread-safe). > The class is also a mixed bag of "data generators" that are either "secure" > or not. > Moreover it uses the "lazy initialization" pattern (for the RNG instance) > solely because of this duality; otherwise users that need one or the other > form of data generation will obviously always use the RNG since all data > generation methods need it. > This entails also a performance hit (albeit tiny) as each call checks whether > the RNG has been initialized already. > The clean solution would be to separate the two types of data generation > (secure vs not) into different classes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)