线程、线程ID获取

一、进程ID获取

1.1  当前进程的Id

方法1 通过进程名获取

Process[] processes = Process.GetProcesses();
foreach(Process process in processes)
{
  if(process.ProcessName == "进程名"
  {
    MessageBox.Show(process.Id);
  }
}

方法2 直接获取

Process processes = Process.GetCurrentProcess
processes.id // 获得当前进程的ID

二、线程ID获取

2.1 C#获取当前线程ID

方法1 推荐

Thread.CurrentThread.ManagedThreadId

方法2

AppDomain.GetCurrentThreadId()

参考文章

C# 获得当前 进程 或 线程的IDcomsky

由进程名获取进程ID及其主线程IDyanglx2022

原文地址:https://www.cnblogs.com/arxive/p/10102175.html

时间: 2024-10-10 09:25:02

线程、线程ID获取的相关文章

管理线程之线程的ID

线程的标识符是线程ID,线程的ID类型是std::thread::id,可以有两种方式来获取.第一种,可以通过线程关联的thread object,调用object.get_id():如果object没有关联任何线程,那么get_id()返回std::thread::id默认构造函数,即没有线程.另一种方法是在当前运行的线程中调用std::this_thread::get_id(). 线程的ID可以拷贝和比较.如果两个线程ID相等,那么它们是同一个线程,或者它们都没有关联到线程.如果两个ID不同

Java线程栈的获取和分析

获取进程号 使用命令:jps 常用参数: -m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null. -l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径. -v 输出传给JVM的参数. 示例: 线程栈的获取 使用命令:jstack,通常使用管道将信息输出到文件,便于分析 常用参数: -F 当jstack没有响应的时候强制打印栈信息. -l 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表. -m

C# 获得当前 进程 或 线程的ID

如果获得当前进程的Id用: Process[] processes = Process.GetProcesses(); foreach(Process process in processes) { if(process.ProcessName == "进程名" { MessageBox.Show(process.Id); } } Process processes   =Process.GetCurrentProcess processes.id获得当前进程的ID 如果获得当前线程的

开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上,要求输出结果必须按ABC的顺序显示:ABCABC

分类: windows编程 C++ 2012-10-27 15:38 3270人阅读 评论(6) 收藏 举报 第四题(迅雷笔试题):编写一个程序,开启3个线程,这3个线程的ID分别为A.B.C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示:如:ABCABC….依次递推. [cpp] view plaincopy #include <stdio.h> #include <process.h> #include <windows.h> #def

1418作业(8)多线程 开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID 在屏幕上打印10遍

/****************************************************************************** *题目: 编写一个程序,开启3个线程,这3个线程的ID分别为A.B.C,每个线程将自己的ID * 在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示:如:ABCABC-依次递推. ******************************************************************************

Java多线程和并发(四),线程返回值获取方式和Callable接口

目录 1.主线程等待法 2.使用Thread类的join()阻塞当前线程,等待子线程执行完毕 3.通过Callable接口实现:通过FutureTask Or线程池获取 四.线程返回值获取方式和Callable接口 1.主线程等待法 public class CycleWait implements Runnable{ private String value; @Override public void run() { try { Thread.currentThread().sleep(50

线程系列04,传递数据给线程,线程命名,线程异常处理,线程池

本篇体验:如何传递数据给线程,如何给线程命名,线程的异常处理,线程池.实在是太基础的部分. □ 传递数据给线程 ※ 使用Lambda表达式 class Program { static void Main(string[] args) { Thread t = new Thread(() => Say("hello", "world")); t.Start(); } static void Say(string msg, string msg1) { Cons

线程系列01,前台线程,后台线程,线程同步

在控制台应用程序集中,Main方法开始的是一个线程.如果要再创建线程,需要用到System.Threading这个命名空间. □ 创建第一个线程 using System; using System.Threading; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { var thread = new Thread(DoSth); thread.Start(); } static

Java线程-- 线程池

1.线程池概念 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源. 为什么要使用线程池? 在java中,如果每个请求到达就创建一个新线程,开销是相当大的.在实际使用中,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多.除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源.如果在一个jvm里创建太多的线程,可能会使系统由于过度消耗内存或“切换过度”而导致系统资源不