所以我在看一个教程,我试图理解这个语法
Thread thread = new Thread()
{
//if i declare variables here i get errors
public void run()
{
// ....define variables in function
}
}
这段代码是如何工作的?我想当线程对象被创建时,它定义了添加或“附加”一个函数到它的函数“列表”中?所以 thread.run() 或 thread.start() 可以稍后调用。我不确定我在猜测..有人可以启发我。从我在 run 函数中看到的教程,他是这样做的
//the same run that is in the Thread class
public void run()
{
int timer = 0 ;
while(timer < 5000)
{
sleep(100) ;
timer+=100;
}
}
sleep 有什么作用?我用谷歌搜索但找不到任何好东西。在继续循环之前,它是否基本上停止当前应用程序 100 毫秒?这意味着 sleep 被调用了 50 次?我的数学很糟糕哈哈..但是如果是这样的话,上面的代码是否等同于
public void run()
{
int timer = 0 ;
while(timer < 50)
{
sleep(100) ;
timer++;
}
}
不过我知道最简单的方法就是说 sleep(5000) ;
很明显,我对此一窍不通。所以我将不胜感激任何解释。越彻底越好,谢谢。抱歉,不知道如何使用代码标签..
最佳答案
这是不可能的,因为它就像尝试将实例变量放入一个不是
的实例中可能..我们只为单个实例提供实现..你不能有
专门为单个对象定义的实例变量..和sleep(100)
停止
当前线程持续 100 毫秒,它发生了 50 次..这意味着 50*100 毫秒..
关于java - Android/java初学语法题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899530/