首页 > 其他分享 >给线程起名

给线程起名

时间:2024-01-29 20:46:05浏览次数:24  
标签:Thread 起名 System 线程 println public out

//  用 API 给线程起名
1 public class MyThreadApi extends Thread { 2 @Override 3 public void run(){ 4 for (int i = 0; i < 5; i++) { 5 System.out.println(Thread.currentThread() + "子线程:" + i); 6 } 7 } 8 }
 1  1 public static void main(String[] args) {
 2  2         Thread t1 = new MyThreadApi();
 3  3         t1.setName("一号");
 4  4         t1.start();
 5  5         System.out.println(t1.getName());
 6  6 
 7  7         t2.setName("二号");
 8  8         t2.start();
 9  9         System.out.println(t2.getName());
10 10 
11 11         //  哪个线程执行它,就得到那个线程对象
12 12         Thread m = Thread.currentThread();
13 13         System.out.println(m.getName());
14 14 
15 15         for (int i = 0; i < 5; i++) {
16 16             System.out.println("主线程:" + i);
17 17         }
18 18     }
 1 //    用构造器给线程起名
 2 public class MyThreadApi extends Thread {
 3     public MyThreadApi() {
 4     }
 5 
 6     public MyThreadApi(String name) {
 7         //  为当前线程起名,给父类的有参构造器初始化名称
 8         super(name);
 9     }
10 
11     @Override
12     public void run(){
13         for (int i = 0; i < 5; i++) {
14             System.out.println(Thread.currentThread() + "子线程:" + i);
15         }
16     }
17 }
18 
19     public static void main(String[] args) {
20         Thread t1 = new MyThreadApi("1号");
21         t1.start();
22         System.out.println(t1.getName());
23 
24         Thread t2 = new MyThreadApi("2号");
25         t2.start();
26         System.out.println(t2.getName());
27 
28         //  哪个线程执行它,就得到那个线程对象
29         Thread m = Thread.currentThread();
30         m.setName("main主线程");
31 
32         for (int i = 0; i < 5; i++) {
33             System.out.println(m.getName() + i);
34         }
35     }

 

标签:Thread,起名,System,线程,println,public,out
From: https://www.cnblogs.com/dsds/p/17995287

相关文章

  • hashmap线程不安全 ConcurrentHashMap是如何实现线程安全的
       2、JDK1.8中的数据覆盖(1)dk1.7的数据丢失、死循环问题在JDK1.8中已经得到了很好的解决,直接在HashMap的resize()中完成了数据迁移。(2)为什么说JDK1.8会出现数据覆盖的情况?查看这段JDK1.8中的put操作代码:在这里插入图片描述如下图框中的代码是判断是否出现hash碰撞,假设两个......
  • 线程的三种创建方式
    1//方式一:继承Thread类2publicclassThread{3publicstaticvoidmain(String[]args){4Threadt=newMyThread();5t.start();67for(inti=0;i<5;i++){8System.out.println("主线程:"+......
  • java用多线程批次查询大量数据(Callable返回数据)方式
    我看到有的数据库是一万条数据和八万条数据还有十几万条,几百万的数据,然后我就想拿这些数据测试一下,发现如果用java和数据库查询就连一万多条的数据查询出来就要10s左右,感觉太慢了。然后网上都说各种加索引,加索引貌似是有查询条件时在某个字段加索引比较快一些,但是毕竟是人家的库不......
  • 线程分批处理数据及MyBatis的批量插入
    文章目录一、背景二、代码实现:三、分页查询下游批次处理场景四、MyBatis的批量插入1、活动表简单表结构:2、业务层组装数据:一、背景数据量较多时,我们常常遇到需要分批处理的情况,比如上千上万数据需要需要操作数据库时(入库或者更新),我们想到分批处理,或者解析文件数据量较多,我......
  • 线程安全问题
    需求:某电影院目前正在上映国产大片,共100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票publicclassMyThreadextendsThread{//表示这个类的所有对象都共享ticketstaticintticket=0;//0~99@Overridepublicvoidrun(){while(true){if(tic......
  • 线程池参数千万不要这样设置,坑得我整篇文章都写错了,要注意!
    你好呀,我是歪歪。先给大家道个歉:上周不是发布了这篇文章嘛:《三个烂怂八股文,变成两个场景题,打得我一脸懵逼。》其中第一个关于线程池的场景,经过读者提醒可能有问题,我又一次用尽浑身解数分析了一波,发现之前确实分析的不对。这个案例真的是再一次深入的刷新了我对于线程池运行过......
  • 深入浅出Java多线程(二):Java多线程类和接口
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第二篇内容:Java多线程类和接口。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在现代计算机系统中,多线程技术是提升程序性能、优化资源利用和实现并发处理的重要手段。特别是在Java编程语言中,多线程机......
  • 写一段rust代码,两个线程共享一个bool变量,一个写,一个读
    usestd::sync::{Arc,Mutex};usestd::thread;fnmain(){//创建一个布尔变量并用Arc和Mutex包装,使其可在多个线程间共享和修改letshared_bool=Arc::new(Mutex::new(false));//克隆Arc变量,以便在两个线程之间共享letwriter_shared_bool=Ar......
  • Qt/C++音视频开发64-共享解码线程/重复利用解码/极低CPU占用/画面同步/进度同步
    一、前言共享解码线程主要是为了降低CPU占用,重复利用解码,毕竟在一个监控系统中,很可能打开了同一个地址,需要在多个不同的窗口中播放,形成多屏渲染的效果,做到真正的完全的画面同步,在主解码线程中切换了播放进度,所有关联的同一个解码线程的播放窗体也会立即同步画面,使得感官上看起来......
  • C# 线程本地存储 为什么线程间值不一样
    一:背景1.讲故事有朋友在微信里面问我,为什么用ThreadStatic标记的字段,只有第一个线程拿到了初始值,其他线程都是默认值,让我能不能帮他解答一下,尼玛,我也不是神仙什么都懂,既然问了,那我试着帮他解答一下,也给后面类似疑问的朋友解个惑吧。二:为什么值不一样1.问题复现为了方便讲述,定义......