【发布时间】:2017-04-29 06:53:38
【问题描述】:
我想创建基类以将任何函数发送给它以使用线程调用。 基于 AsyncTask 功能,我不能使用它,因为我不仅会从 Main Activity 调用另一个线程中的线程。 这是我的示例代码 在
安卓:
public class BaseThread {
public static Thread call(Function threadMethod)
{
Thread thread = new Thread()
{
@Override
public void run()
{
threadMethod();
}
};
thread.start();
return thread;
}
public static Thread Call(Function threadMethod, Object parameter)
{
Thread thread = new Thread(threadMethod);
thread.start();
return thread;
}
public static void sleep(int millisecondsTimeout)
{
try {
Thread.sleep(millisecondsTimeout);
}
catch (InterruptedException ex)
{
///TODO Handle Exception and Logging
}
}
}
c# 中的示例:
internal class BaseThread
{
public static Thread Call(ThreadStart threadMethod)
{
Thread thread = new Thread(threadMethod);
thread.Start();
return thread;
}
public static Thread Call(ParameterizedThreadStart threadMethod, object parameter)
{
Thread thread = new Thread(threadMethod);
thread.Start(parameter);
return thread;
}
public static void Sleep(int millisecondsTimeout)
{
Thread.Sleep(millisecondsTimeout);
}
}
应该在方法中设置哪种类型的变量而不是这一行:
call(Function threadMethod)
什么是最佳实践而不是这个基类?
【问题讨论】:
标签: android multithreading android-asynctask runnable