我想创建Base类来向它发送任何函数以通过线程调用。 基于AsyncTask功能,我无法使用它,因为我将不仅从Main Activity调用另一个线程中的线程。 这是我的示例代码 在
的Android :
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)
最新的做法是什么,而不是这个基类?
答案 0 :(得分:0)
实际上,Thread可以被视为"基本线程类"因为您可以通过将Runnable / Callable实现放入构造函数来实现此类行为。将逻辑放入runnable的run方法中。但我强烈建议您不要使用纯线程并查看ExecutorService。祝你好运。
答案 1 :(得分:0)
Android有一个非常方便的类HandlerThread。您可以创建自定义线程并向其发布Runnables。它有一个嵌入的消息队列,每个消息都按顺序处理。