1、AdminController文件
package com.controller;import com.myThread.AdminThread;
import org.springframework.web.bind.annotation.*;@RestController
@CrossOrigin
@RequestMapping("/admin")
public class AdminController{@GetMapping("/{id}")public long findById(@PathVariable Long id){System.out.print("进来啦\n");//创建一个线程对象AdminThread t1 = new AdminThread();//创建一个线程对象AdminThread t2 = new AdminThread();//开启第一个线程t1.start();//开启第二个线程t2.start();return id;}
}
2、AdminThread文件
package com.myThread;public class AdminThread extends Thread{@Overridepublic void run() {//线程开始之后执行的代码for (int i = 0; i < 100; i++) {System.out.print("线程"+i+"\n");}}
}
二、给线程起名
package com.controller;import com.myThread.AdminThread;
import com.myThread.MyCallable;
import com.myThread.MyRunnable;
import org.springframework.web.bind.annotation.*;import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;@RestController
@CrossOrigin
@RequestMapping("/admin")
public class AdminController{@GetMapping("/{id}")public long findById(@PathVariable Long id){System.out.print("进来啦\n");//创建一个线程对象AdminThread t1 = new AdminThread("线程名称1");//创建一个线程对象AdminThread t2 = new AdminThread("线程名称2");//这一种方便//t1.setName("高铁");//t2.setName("飞机");//开启第一个线程t1.start();//开启第二个线程t2.start();return id;}
}
package com.myThread;public class AdminThread extends Thread{public AdminThread() {}public AdminThread(String name) {super(name);}@Overridepublic void run() {//线程开始之后执行的代码for (int i = 0; i < 100; i++) {System.out.print(getName()+"线程"+i+"\n");}}
}
线程睡眠
package com.myThread;public class AdminThread extends Thread{@Overridepublic void run() {//线程开始之后执行的代码for (int i = 0; i < 100; i++) {try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.print(getName()+"线程"+i+"\n");}}
}
设置线程权重
@GetMapping("/{id}")public long findById(@PathVariable Long id) throws InterruptedException {System.out.print("进来啦\n");//创建一个线程对象AdminThread t1 = new AdminThread();//创建一个线程对象AdminThread t2 = new AdminThread();//这一种方便(起名)t1.setName("线程名称1");t2.setName("线程名称2");//优先级: 1 - 10 默认值:5t1.setPriority(7);//权重t2.setPriority(3);//权重//查询权重
// System.out.print(t1.getPriority());//开启第一个线程t1.start();//开启第二个线程t2.start();return id;}