I find threading to be easier to program in Java than most other languages (save Erlang)
See these papers (#1,#2) that have a quite different view...
As a matter of fact the terms referring to concurrency are quite confusing. You wrote threading. But when we talk programming languages, should this really be distinct from concurrency, multitasking or any of the other terms used...?
I think not.
A useful distinction is between languages that encourage thinking in terms of processes, languages that provide lower level facilites, and language that lack concurrency entirely.