我有一个Log类,它有几个静态方法,可以帮助记录有关我程序的信息。
我的问题是我有2个线程正在运行,并且它们都向我的Log类发送请求以记录信息。
我想让我的Log类显示哪些线程正在记录哪些行。
我应该怎么做才能实现这项功能?
我的代码基本上是这样的:
public class Log {
public static void log ( String tag , Object message )
{
String lineToPrint = "";
//Builds the string taking in time data and other information
//...
//This is where I want to see which thread called this log function
//...
System.out.println( lineToPrint );
}
}
答案 0 :(得分:8)
将此添加到记录器:
Thread t = Thread.currentThread();
String name = t.getName();
并将其转储到日志文件中。
答案 1 :(得分:0)
public class Temp{
static Thread t = null;
}
temp.t = Thread.currentThread();
public static void log ( String tag , Object message )
{
temp.t.getName();//get it
}
答案 2 :(得分:0)
另外,关于pthread
s,了解调用线程的函数是:pthread_t pthread_self (void);
参考:http://pubs.opengroup.org/onlinepubs/007908799/xsh/pthread_self.html