当前位置: 首页 > 面试题库 >

如何在Python中获取线程ID?

东方骏
2023-03-14
问题内容

我有一个多线程Python程序和一个实用程序函数writeLog(message),该函数写出时间戳记和消息。不幸的是,结果日志文件没有给出哪个线程正在生成哪个消息的指示。

我希望writeLog()能够在消息中添加一些内容,以标识哪个线程正在调用它。显然,我可以使线程将这些信息传递进去,但这将需要更多的工作。是否有一些os.getpid()我可以使用的等效线程?


问题答案:

threading.get_ident(),或者threading.current_thread().ident(或threading.currentThread().ident对于Python
<2.6)。



 类似资料:
  • 本文向大家介绍在C#中如何从线程中获取线程ID,包括了在C#中如何从线程中获取线程ID的使用技巧和注意事项,需要的朋友参考一下 线程被定义为程序的执行路径。每个线程定义唯一的控制流。如果您的应用程序涉及复杂且耗时的操作,那么设置不同的执行路径或线程(每个线程执行一个特定的工作)通常会很有帮助。 线程是轻量级进程。使用线程的一个常见示例是现代操作系统对并发编程的实现。使用线程可以节省CPU周期,并提

  • 问题内容: 我有一个固定的线程池,我可以将任务提交给该线程池(限制为 5个 线程)。如何找出这 5个 线程中的哪一个执行我的任务(例如“第3 个 线程中的第3 个 线程正在执行此任务”)? 问题答案: 使用:

  • 问题内容: 下面的函数返回一个字符串。我如何获取从线程目标返回的值? 上面显示的“一种显而易见的方法”不起作用:。 问题答案: 我见过的一种方法是将可变对象(例如列表或字典)与索引或某种其他标识符一起传递给线程的构造函数。然后,线程可以将其结果存储在该对象的专用插槽中。例如: 如果你确实想join()返回被调用函数的返回值,则可以使用如下所示的Thread子类来实现: 由于名称修改,这有点麻烦,并

  • “Remoting-JMX Client-Thread-4”守护进程prio=6 tid=0x000000000F86B000 nid=0x20e0>在条件[0x000000000B82E000]java.lang.thread.state:TIMED_WAITING(停车)在sun.misc.unsafe.park(本机方法)-停车等待<0x00000000EBD8BCC0>(a>java.ut

  • 问题内容: 在Linux C程序中,如何打印pthread库创建的线程的线程ID? 例如:我们可以通过 问题答案: 函数将给出当前线程的线程ID。 该函数返回调用线程的Pthread句柄。pthread_self()函数不会返回调用线程的整数线程。您必须使用返回该线程的整数标识符。 注意: 比这些调用快得多,但是提供了相同的行为。

  • 问题内容: 如何在Unix上从Python获取所有正在运行的进程的进程列表,其中包含命令/进程的名称和进程ID,以便可以过滤和终止进程。 问题答案: 在linux上,最简单的解决方案可能是使用外部命令: 在其他系统上,您可能必须将选项更改为。 不过,您可能要在和上运行。