package aaa;
import java.util.LinkedHashSet;
import java.util.Set;
public class gogogo implements Runnable {
@Override
public void run() {
try
{
Thread.sleep(2000);
} catch (InterruptedException e)
{ }
System.out.println(Thread.currentThread().getName()
+" 过山洞");
}
public static void main(String[] args) {
String ary[] ={"赵","钱","孙","李","周","吴","郑","王","马","拖"}; // 用数组随机赋给线程名字实现随机字符。
gogogo man = new gogogo();
Set<Integer> set=new LinkedHashSet<Integer>();
while(true){
if(set.size() == 10){
break;
}
int a=(int) (Math.random()*10);
set.add(a);
}
for(int b:set){
Thread th = new Thread(man, ary[b]);
th.start();
}
}
import java.util.LinkedHashSet;
import java.util.Set;
public class gogogo implements Runnable {
@Override
public void run() {
try
{
Thread.sleep(2000);
} catch (InterruptedException e)
{ }
System.out.println(Thread.currentThread().getName()
+" 过山洞");
}
public static void main(String[] args) {
String ary[] ={"赵","钱","孙","李","周","吴","郑","王","马","拖"}; // 用数组随机赋给线程名字实现随机字符。
gogogo man = new gogogo();
Set<Integer> set=new LinkedHashSet<Integer>();
while(true){
if(set.size() == 10){
break;
}
int a=(int) (Math.random()*10);
set.add(a);
}
for(int b:set){
Thread th = new Thread(man, ary[b]);
th.start();
}
}
}
结果:
本文介绍了一个使用Java编写的简单示例程序,该程序通过创建多个线程并为每个线程随机分配名称来演示多线程环境下的并发执行情况。线程名称来源于一个固定的字符串数组,并利用了数学随机数生成器结合LinkedHashSet确保了线程名称的随机性和唯一性。
1105

被折叠的 条评论
为什么被折叠?



