本文编写主要目的是记录工作中的一些编程思想和细节,以便后来查阅。
1.问题描述
由于项目中设计高并发内容,涉及到一个线程创建多个子线程的情况。 那么,如何跟踪日志,识别子线程是由哪个主线程创建的,属于哪个request请求。
例如, 在现有项目中,一个设备信息上传的请求(包括基本数据和异常数据两种数据),然后主线程创建两个子线程,来处理基本数据和异常数据。
简化代码如下:
public class mainApp {
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
//接收到一个request
System.out.println("[Thread-"+ Thread.currentThread().getId() +"]开始发起请求");
String[] data = {"异常数据","基本数据"};
//创建子线程1,处理异常数据
MThread mThread1 = new MThread(new Runnable() {
@Override
public void run() {
System.out.println("[Thread-"+ T