<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
Please javadoc concurrency semantics
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/jason.greene%40jboss.com">Jason Greene</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/message/570830#570830">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Since more and more people are starting to work on the code base, we really need to be clear about what the concurrency semantics are for every class. It just takes a few extra minutes and will likely save hours of time by preventing unintentional breakage, and preventing others from having to infer it.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>All I ask, is that on every new class you do just add a simple Thread-Safety like section, and explain how you intend the class to be used. Also if you modify a class please make sure your modification either fits the previously documented semantics, or carefully explore the consequences when you change them. This will also help tip-off reviewers that such a change is happening.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>In many cases this could be just one sentence:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>"Thread-Safety: This class is not thread safe, and is intended to have an instance per thread"</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>"Thread-Safety: This class is not thread safe, and is intended to have all interactions guarded by a lock"</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>"Thread-Safety: This class allows concurrent access to any method, but needs a happens-before event between construction and usage"</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Of course more complex designs would need additional information, however typing that out will probably make you think through it a little more, and you may catch flaws you didn't originally think of. I know I have before.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Thanks!</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/570830#570830">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>