在一本JAVA教程书上看到用synchronized可以实现线程之间的通讯

同时又提到pipedinputstream/pipedoutputstream也可以实现线程之间的通讯

那请问,这两种通讯有什么区别?

顺便问下NetBeans 怎么实现单步调试啊?