这次开发中用到了多线程(测试用),学得了一些东西
1.多线程实现方式:继承Thread方法/实现Runnable接口
重写run方法。
直接在其他方法中调用run()方法是不会产生新线程的。通过start()可以新建线程。
Thread t = new Thread(Runnable)---Runnable实现线程的的类A
t.start()
2.线程传参数
构造函数 上边的A
getter/setter方法
3.多线程测试方法:
debug断电要打对不然测不到,打到run方法开始
将一个类实现多线程,然后测试
通过线程池来进行测试
4.Spring框架下new出来的线程是不被Spring管理的(折腾了两天。。。。。)
报空指针异常
在线程类中@Autowired注入的对象在线程方法中不可用,因为Spring不管理new出来的线程,new出来的线程中不可见@Autowired出来的对象,只能通过 Applicationcontext.getBean()方法来获取Spring管理的Bean,只要获取到这个Bean就可以获得Spring管理的Bean之间的关系
同样在线程中new出来的对象也不受Spring管理?
5.Spring @Autowired
如果实现类AbcImpl implements Abc是通过@Service("abc")来注入的,那么在其他的java类型注入该对象需要通过
@Autowired
Abc abc
而不能将Abc写成AbcImpl
6.Random(假随机)