A critique of Java for concurrent programming | IEEE Journals & Magazine | IEEE Xplore