关于多线程创建时的参数问题

呆呆啊 2014-04-18 09:08:47
YieldDemo yd=new YieldDemo();(该类实现了Runnable 接口)
Thread t1=new Thread(yd,"Max");
Thread t2=new Thread(yd,"Min");
Thread t3=new Thread(yd,"Normal");



为什么这三个线程的参数可以是同一个实现Runnable 接口的实例化对象呢?难道不应该是三个吗……
...全文
124 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Z-ero 2014-04-20
  • 打赏
  • 举报
回复
引用 2 楼 u014790610 的回复:
那我可以实例化三个YieldDemo对象然后分别放到三个Thread的参数里面吗?Thread类里的那个参数究竟是什么意思呢?只是表示一个命令吗?所有的接口都可以表示命令还是就Runnable表示命令?问题有点多啊嘿嘿……
实例化3个对象分别放到3个Thread的参数里就表示有3个线程,这3个线程分别执行不同的任务(其实就是同一个任务,因为3个对象的run方法都是一样的),参数的意思就是把你要执行的命令通过参数的形式传递给线程。只有重写的Runnable接口里面的run方法才是具体要执行的命令。或者说用另外一种方式创建线程(就是自定义类继承线程,但是也要重写run方法,run方法才是执行的命令)。
呆呆啊 2014-04-19
  • 打赏
  • 举报
回复
那我可以实例化三个YieldDemo对象然后分别放到三个Thread的参数里面吗?Thread类里的那个参数究竟是什么意思呢?只是表示一个命令吗?所有的接口都可以表示命令还是就Runnable表示命令?问题有点多啊嘿嘿……
Z-ero 2014-04-18
  • 打赏
  • 举报
回复
实现Runnable接口只是要重写里面的run方法,而run方法里面的方法体就是线程用来具体执行的指令,创建3个线程放入同一个参数,就表示有3个线程执行同一个指令,如果是3个不同的参数,那就表示3个线程分别执行3个不同的指令了.

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧