Thread thbus = new Thread(bus);
bus.setName("Bus"+ thbus.getId());
Thread thmechanics = new Thread(bus);
bus.setMechanicsName("Mechanic "+ thmechanics.getId());
thbus.start();
这些生成的线程位于我的其他类中。 "Mechanic "+ thmechanics.getId()
行将打印 "Mechanic"
+ 一个随机数。我想知道是否有办法使用 .getId()
打印 (1-5) 之间的随机数。
最佳答案
通过使用 %
( modulo ) 运算符,轻松/实用地完成:
(thread.getId() % 5 ) + 1
欢迎;)
自 mod-in-java-produces-negative-numbers 我不能保证线程 ID 始终为正,甚至:
Math.abs(thread.getId() % 5) + 1
..甚至better (!):
(thread.getId() % 5 + 5) % 5 + 1
...可能有道理。
关于java - 有没有办法限制 .getId(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50182453/