在上节我们使用了Thread类来代替了锁,但是创建的时候有失灵活性。下面我们创建Thread的实例,传给它一个可调用的类实例,这样会更加灵活方便
运行后输出
这样是不是更灵活了?这样更符合我们的面向对象编程。那么上面代码中我们最大的区别是什么呢?主要是添加了ThreadFunc类,并实例化Thread对象时做了一点改动,同时实例化了可调用类ThreadFunc,所以说实际上这里是完成了两个实例化操作。
当创建新的线程时,Thread类的代码将调用ThreadFunc对象,此时会调用call这个特殊方法。由于我们已经有了要用到的参数,这里就不需要再将其传递给Thread()的构造函数了,直接调用就行。
更多内容请关注公众号“计算机自学平台”
领取专属 10元无门槛券
私享最新 技术干货