Java向Runnable线程传递参数方法实例解析
javaRunnable接口:是一个接口,它里面只有一个run()方法,没有start()方法,继2113承Runnable并实现这个方法就可以实现多线程了,但是5261这个run()方法不能自4102己调用,必须由系统来调用。
向线程中传递数据的三种方法:
一、通过构造函数传递参数
publicclassMyThread1extendsThread
{
privateStringname;
publicMyThread1(Stringname)
{
this.name=name;
}
publicvoidrun()
{
System.out.println("hello"+name);
}
publicstaticvoidmain(String[]args)
{
Threadthread=newMyThread1("world");
thread.start();
}
}
二、通过变量和方法传递数据
publicclassMyThread2implementsRunnable
{
privateStringname;
publicvoidsetName(Stringname)
{
this.name=name;
}
publicvoidrun()
{
System.out.println("hello"+name);
}
publicstaticvoidmain(String[]args)
{
MyThread2myThread=newMyThread2();
myThread.setName("world");
Threadthread=newThread(myThread);
thread.start();
}
}
三、通过回调函数传递数据
classData
{
publicintvalue=0;
}
classWork
{
publicvoidprocess(Datadata,Integernumbers)
{
for(intn:numbers)
{
data.value+=n;
}
}
}
publicclassMyThread3extendsThread
{
privateWorkwork;
publicMyThread3(Workwork)
{
this.work=work;
}
publicvoidrun()
{
java.util.Randomrandom=newjava.util.Random();
Datadata=newData();
intn1=random.nextInt(1000);
intn2=random.nextInt(2000);
intn3=random.nextInt(3000);
work.process(data,n1,n2,n3);//使用回调函数
System.out.println(String.valueOf(n1)+"+"+String.valueOf(n2)+"+"
+String.valueOf(n3)+"="+data.value);
}
publicstaticvoidmain(String[]args)
{
Threadthread=newMyThread3(newWork());
thread.start();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短