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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马斯巴达 高级黑马   /  2012-11-10 12:28  /  1828 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 谢军 于 2013-3-16 14:16 编辑

/*
关于多线程的使用例子
第一种方式 继承Thread类实现多线程
首先继承Thread类,然后重写run()方法。
*/
class DuoXian extends Thread
{
private int a=0;
//A此处创建一个构造函数
public void run()
        {
        for(int a=0;a<10;a++)
                {
    System.out.println(currentThread().getName()+":"+a);//B此处currentThread换成this
                try{sleep(100);}catch(InterruptedException e){throw new RuntimeException(e);}
                }
        }
}
class TestDuoXian
{
        public static void main(String[] args)
        {
                DuoXian t= new DuoXian();//C需要传什么值?
                t.start();//启动用户线程
                t.run();//主线程调用用户线程的run()方法
        }
}
在多线程中我们知道如果是当前对象可以用this来代替currentThread,那么在使用this时要做哪些准备呢?例如上面A要创建一个构造函数C处传什么值?很疑惑

点评

那不用传参数,默认调用的是无参构造器,启动线程也不能调用run()方法,直接使用start,否则调用run只是调用一个普通方法,不会启动线程的  发表于 2012-11-10 14:37

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
哦。。。懂啦。就是去掉run()方法,直接用this调用默认构造函数就对啦{:soso_e142:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马