总结:主要是实现Runnable接口就必须重写run()方法,然后需要创建Thread类的对象,再调用start()方法

package com.s.x;

public class testRunnable implements Runnable {
int k = 0; public testRunnable(int k) {
this.k = k;
} public void run() {
int i = k;
System.out.println();
while (i < 30) {
System.out.print(i + "");// 这里应该输出的是,0,2,4,6,8……30、、偶数,它会产生空格t输出的数字
i += 2;
}
System.out.println();// 这个空格是做什么的?? } public static void main(String[] args) {
testRunnable r1 = new testRunnable(1);// 这里r1必须有参数,因为是一个带参的构造方法
testRunnable r2 = new testRunnable(2);// 创建两个对象
// 这里看,并不能调用start()方法,因为这不是线程,因为需要在run()方法
// 你妹,我是怎么了。实现Runnable接口,就直接调用了start()方法,这个有什么用呢?即使是在run()方法里
// 但并没有创建线程
// 也可以创建并启动一个线程
// Thread t=new Thread(r1);
// Thread t2=new Thread(r2);
// t.start();//总之实现Runnable接口就必须要创建Thread类的对象才能调用start()方法
new Thread(r1).start();// 这里传递参数是类对象
new Thread(r2).start();
}
}

  

最新文章

  1. 规则引擎集成接口(八)Java接口实例
  2. solrcloud 配置实践
  3. Redis做消息队列文章两篇
  4. js 多选题选项内容显示在标题下
  5. iframe 传值问题
  6. Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 转
  7. linux查看CPU和内存信息
  8. POJ 1252 Euro Efficiency
  9. python重试(指数退避算法)
  10. Unity存储路径
  11. day 04 Java并发多线程
  12. poj-1328(贪心+思维)
  13. share pool 管理机制
  14. YII2常用数据库操作
  15. TypeScript基础学习
  16. QHash和QMultiHash使用
  17. JAVA中的抽象类与接口
  18. 指针*pbuffer和getchar 读取字符串
  19. Web服务器性能压力测试工具
  20. redis数据类型List的安全队列和不安全队列

热门文章

  1. matlab cvx工具包安装
  2. Cscope 安装和使用
  3. jQuery动画与特效
  4. jinfo用法说明
  5. Java基础学习-内部类
  6. New Concept English three(15)
  7. 如何规划和选择数据库服务器:CPU、内存、磁盘、网络(转)
  8. Linux:grub密码设置与修改
  9. SQL Server 2008 R2 使用 PIVOT 错误
  10. SpringMVC札集(06)——转发和重定向