A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯超 高级黑马   /  2013-5-19 10:32  /  1259 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 冯超 于 2013-5-19 10:57 编辑

以前学的基础放了。我现在写一个吧。
方式一:
1>继承java.lang.Thread这个类。
2>重载run方法,java.lang.Thread实现Runnable接口,该结构中的run方法定义如下:
public abstract void run();  
          在一个线程中写Thread.start();并可调用run方法。

6 个回复

倒序浏览
两种启动方法和你说的差不多,我给你详细的代码你在回忆一下

看附件
回复 使用道具 举报
刘治广 发表于 2013-5-19 10:43
两种启动方法和你说的差不多,我给你详细的代码你在回忆一下

看附件

什么附近?
回复 使用道具 举报
查了下资料
  1. package domain;
  2. //多线程启动方式一
  3. public class test2 extends Thread {
  4.         private String name;

  5.         public test2(String name) {
  6.                 this.name = name;
  7.         }

  8.         public static void main(String[] args) {
  9.                 test2 t = new test2("A");
  10.                 test2 t1 = new test2("B");
  11.                 test2 t2 = new test2("C");

  12.                 t.start();
  13.                 t1.start();
  14.                 t2.start();
  15.         }

  16.         public void run() {
  17.                 for (int i = 0; i < 10; i++) {
  18.                         System.out.println("线程1 :" + name + "在运行");
  19.                 }
  20.         }
  21. }
复制代码
  1. package domain;

  2. //线程启动方式二
  3. class test3 implements Runnable {
  4.         private String name;

  5.         public test3(String name) {
  6.                 this.name = name;
  7.         }
  8.         public static void main(String[] args) {
  9.                 test3 t = new test3("A");
  10.                 test3 t1 = new test3("B");
  11.                 test3 t2 = new test3("C");
  12.        
  13.                 Thread thread1 = new Thread(t);
  14.                 Thread thread2 = new Thread(t1);
  15.                 Thread thread3 = new Thread(t2);
  16.                 thread1.start();
  17.                 thread2.start();
  18.                 thread3.start();
  19.         }
  20.         @Override
  21.         public void run() {
  22.                 // TODO Auto-generated method stub
  23.                 for (int i = 0; i < 10; i++) {
  24.                         System.out.println("线程2" + name + "在运行");
  25.                 }
  26.         }
  27.        
  28. }
复制代码
无论是哪种方法都必须是用Thread.start();来启动线程。
回复 使用道具 举报
test3 t = new test3("A");
test3 t1 = new test3("B");
test3 t2 = new test3("C");
这里声明一次就可以了,至于线程名字可以这样
Thread thread1 = new Thread(t,"A");
Thread thread2 = new Thread(t1,“B”);
Thread thread3 = new Thread(t2,“C”);


修改后
test3 t = new test3();
Thread thread1 = new Thread(t,"A");
Thread thread2 = new Thread(t1,"B" );
Thread thread3 = new Thread(t2,"C" );
回复 使用道具 举报
刘治广 发表于 2013-5-19 16:25
test3 t = new test3("A");
test3 t1 = new test3("B");
test3 t2 = new test3("C");

谢谢!····························
回复 使用道具 举报
呵呵,大家互相学习。最好能来点技术分,嘿嘿
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马