On Sat, Apr 11, 2009 at 5:15 AM, Dean S. Jones <deansjo...@gmail.com> wrote:
> > My assumption is, Async.RPC, like any static in a class, is not > initialized till the class is first referenced. The "Internal Class" > trick you cite > has more to do with "Java Proper" Classloaders, and how they handle > initialization in a Multi-threaded environment ( they are guaranteed > to > be determinate and atomic ) Well, not quite exactly, right? Cause the idea is you want to lazy load the singleton. If you just assign it to a static variable, then it'll get eagerly loaded when the class is first referenced. The internal class isn't for the thread-safety part because assigning it without the internal class is also thread safe (static variables are always initialized thread-safely). It's strictly for the lazy loading to be thread-safe (not having to write explicit synchronization code & also the JIT actually swaps out the synchronization once it is safe). I'm not 100%, but it's likely that the Async class will get loaded on startup. You can always verify when it happens by doing a static { GWT.log('loading rpc", null); } to verify when this happens. > > > But at this time, JavaScript is single threaded, so my idiom seems > safe. > > > for now ;-) > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---