如何使用在Java中实现Runnable的类
我对线程并不陌生,我基本上使用线程来运行长进程,我所做的只是创建Runnable类的一个实例,并将我希望它运行的所有代码放在run方法中,但昨天我的讲师让我创建一个实现Runnable类的简单程序,该类将演示如何使用Start,等待、睡眠、连接和产生方法调用,就像我之前说过的,每次我想运行线程时,我所做的就是创建Runnable类的实例,添加一个处理程序,甚至一个循环器,但实现该类是我以前从未做过的事情,所以我有点不知所措,我选择创建一个简单的Contactbook程序,该程序用于保存和删除文件中的联系人,其中一个类应实现Runnable类,因此我选择从文件中保存和加载联系人的类,因为此部分可能需要更多时间,因此需要在单独的线程上运行。下面是我的类 每个联系人应具有的数据的人员类别a蓝图 公共类Person实现Runnable{如何使用在Java中实现Runnable的类,java,android,multithreading,Java,Android,Multithreading,我对线程并不陌生,我基本上使用线程来运行长进程,我所做的只是创建Runnable类的一个实例,并将我希望它运行的所有代码放在run方法中,但昨天我的讲师让我创建一个实现Runnable类的简单程序,该类将演示如何使用Start,等待、睡眠、连接和产生方法调用,就像我之前说过的,每次我想运行线程时,我所做的就是创建Runnable类的实例,添加一个处理程序,甚至一个循环器,但实现该类是我以前从未做过的事情,所以我有点不知所措,我选择创建一个简单的Contactbook程序,该程序用于保存和删除文件
private String fname;
private String lname;
private String number;
private String callTime;
public Person()
{
this("", "","","");
}
public Person(String fname, String lname, String number, String callTime)
{
this.fname = fname;
this.lname = lname;
this.number = number;
this.callTime = callTime;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getCallTime() {
return callTime;
}
public void setCallTime(String callTime) {
this.callTime = callTime;
}
public void printContacts()
{
TimeAgo timeSaved = new TimeAgo();
System.out.println("-------------------------------------");
System.out.println(" 1. First Name: "+this.fname);
System.out.println(" Last Name: "+this.lname);
System.out.println(" Cell Number: "+this.number);
System.out.println(" Saved Date: "+String.valueOf(timeSaved.getTimeAgo(Long.parseLong(this.callTime))));
System.out.println("-------------------------------------");
}
}
Contactmanager类,该类负责从文件中写入、读取和删除联系人,readAllContacts和writeToFile方法是我希望在另一个线程上运行的方法,基本上是因为它们可能需要一些时间来读取和写入。因此,我的问题是如何告诉ContactManager在一个单独的线程上运行这两个方法,而不需要创建Runnable类的实例并围绕run方法中的方法体?如果不创建新线程,就无法在另一个线程中运行方法。如果你实现Runnable,你需要重写run方法,然后你可以把这个类放在一个新的线程中并启动它。我建议你从更简单的开始,因为你需要演示start、Wait、Sleep、Join和屈服,你需要两个线程,一起工作,在google上搜索[java Thread example]谢谢@PetterFriberg@Tobi谢谢