Java Thread的run()上的public修饰符的好处

gsh*_*shx 7 java concurrency multithreading

有没有人对Java Thread类的run()方法的公开历史有任何见解?几乎所有时间都会被覆盖使用,因此受保护的修饰符会更合适吗?这仍然会将start()作为用户的公共api,因此不会给用户意外地调用run()留下任何错误.

Boz*_*zho 10

Threadimplements Runnable,定义run()方法,因此必须公开.

但是,因为Java 1.5建议使用Executors服务而不是java.lang.Thread.执行程序将要执行的工作单元(Runnable,Callable)与实际执行程序分离.(Thread他们是一样的)