Thread T2 should have no problem accessing b() because it is not synchronized.
I tried some of the code below and got both threads in b() at the same time. Though it took a little playing around with the time on the sleep() method to get the Threads to be in the method at the same time.
Eventually I got the results below, which demonstrate that 't2' is in method b() while 't1' is as well. The time aspect in the results really doesn't help, but I was hoping for milliseconds.
t1 is starting b() at Thu Jun 30 18:02:11 CDT 2011
t2 is starting b() at Thu Jun 30 18:02:11 CDT 2011
t2 is leaving b() at Thu Jun 30 18:02:11 CDT 2011
t1 is leaving b() at Thu Jun 30 18:02:11 CDT 2011