最近要写一个多线程服务器,涉及到多个线程响应客户端的请求,甚至多个线程要访问数据库(MySQL)的问题;所以仔细的又重新的了解与线程编程相关的一些概念,下面是在查询资料时总结的一些细节,于此贴出,希望于诸君也是有所裨益的:

    1.run()和start(),用run启动的线程是独占完成(比较自私),在执行完其主体之前不会释放CPU资源;而以start启动的线程则是在其run(){...content..}体没有执行完之前也会释放CPU资源以供其他线程使用(相对无私);这些是都是由JVM主导来完成的。个人觉得嘛,run有时候可以启动一些不希望其他线程打断然后呢又希望高效率执行完的一些线程,现在虽然不知道在什么场所可能存在这种需求,但是嘛,这个“反常”的方法的存在本身就说明它在某些应用场景下是无比适合的。

   //未完待续.......