我理解线程进程的有用性,例如,反复运行需要定期更新的特定方法。除了在方法类中编写特定代码以在其自己的线程中工作之外,是否有办法从任何(非线程)类链接特定方法,以便它通过单独的“OmniThread”类在其自己的线程中运行/重复?
例如,假设我有一个类,它有一个方法,从作为参数传递的值报告当前经过的时间,并将结果作为格式化日期字符串返回,如“1小时,3分钟,17秒”:
public class Timer () {
public String getTime (long then) {
now = <some code>;
duration = then-now;
<more code>;
return dateString;
}
}
我希望这个方法定期更新,并且还希望其他类中的其他几个方法,每个方法都有自己的函数,参数和返回值,以便在自己的线程中执行相同的操作。
有没有办法将带有这些参数的方法传递到通用的'OmniThread'类,为任何方法添加'threadability',或者我只需要单独设置每个类以在自己的线程中运行?
如果可能的话,我如何将值从我的方法类传递给线程类,以便它按需运行?我将如何结束线程?
在伪代码中,我想要让线程类运行我规定的方法并每半秒更新一次:
OmniThread thread = new OmniThread (<method name>, <method arguments> ,<repeat interval>);
我可能会以完全错误的方式解决这个问题,但会欣赏一些意见和建议。
非常感谢, ķ