Java有两种方式实现多线程第一个昰继承Thread类,第二个是实现Runnable接口他们之间的联系:
2、都需要重写里面Run方法。
1、实现Runnable的类更具有健壮性避免了单继承的局限。
2、Runnable更容易实現资源共享能多个线程同时处理一个资源。
看一下以继承Thread的卖票例子:
从以上输出结果可以看出我们创造了2个多线程对象,他们分别實现了买票任务也就是一共卖了12张票。
实现Runnable接口的卖票例子:
Runnable ticket = 0从结果我们可以看到虽然我们声明了两个线程,但是一共卖了6张票他們实现了资源共享。PS:在实际开发中一定要注意命名规范,其次上面实现Runable接口的例子由于同时操作一个资源会出现线程不安全的情况,如果情况需要我们需要进行同步操作。