Welcome!

Craig Caulfield

Subscribe to Craig Caulfield: eMailAlertsEmail Alerts
Get Craig Caulfield via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Craig Caulfield

In concurrent programming, exclusion refers to any technique that dynamically locks certain blocks of code so multiple threads can't corrupt their shared resources in ways that can cause integrity problems. In Java, exclusion has meant using the synchronized keyword against a method or block of code to control access to an object's lock. Even though synchronization is a simple and concise way of controlling access to critical code, there are some limitations: While a thread is trying to acquire a lock, it can't be interrupted or timed-out. Each lock can only test against a single implicit condition using the wait() and notify() methods, which doesn't give developers much flexibility when trying to react to particular program states. Starting with J2SE 5.0 there's another way of protecting a code block from concurrent access - the Lock interface and its implementatio... (more)

Perfect Partner for Web Services: Getting to Know XForms

HTML forms are one of the best-known techniques for gathering data from a user and submitting that data to a server. However, HTML forms are only simple tools and don't natively support some of the features needed by current Web applications such as sophisticated data validation. Also, the user interface created by HTML forms is essentially hard coded for one device, meaning the same form can't be easily re-tasked for, say, PDAs or mobile phones. The W3C XForms Recommendation is one way of addressing some of these issues. (XForms is both plural and singular, so there's no XForm,... (more)