新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了兴安免费建站欢迎大家使用!
Thread.currentThread().getName();//获取当前线程名称Thread.currentThread().setName("");//设置当前线程名称
Thread.currentThread().setName("hello"); System.out.println(Thread.currentThread().getName()); 修改当前线程如果需要修改别的线程名字,您需要用你线程的实力例如mythread.setName();
t1.start(); //表示启动线程,此时线程真正启动起来。thread.sleep(timeout); //表示让当前线程睡眠一段时间。至于每次结果不一样,很正常,这也是正是多线程的一个特点——不确定性。
final ExecutorService service = Executors.newFixedThreadPool(2, new ThreadFactory() AtomicInteger atomic = new AtomicInteger(); public Thread newThread(Runnable r) return new Thread(r, "Thread" + this.atomic.getAndIncrement()); } });
不需要你自己知道吧,有点类似匿名内部类的感觉,只调用一次
自己定义一个结构体。里面存tid, 名字,通过这个结构体来创建线程
看你线程创建成功否。而且就算是多线程,cpu其实也是按调度方式分别执行,不是真正的并行运行啦,你可以在线程里面输出试试。createthread(null,0,threadproc,null,null,null);第一个参数是指向安全属性的指针,null就行第二个参数是初始线程堆栈大小,0就可以,windows会自动分配第三个参数指向线程函数,必须是这样dword winapi threadproc (lpvoid pparam) 第四个参数是传给线程函数的参数,有就传,没有就null第五个参数是线程启动方式,可以是挂起create_suspended,或者马上启动null最后一个参数是创建的线程id。成功的话,返回线程句柄。
线程名要在线程中设置,即run()方法中,楼主的写法是在设置main()方法的线程名,并非新建的线程名。代码改造一下:public class Server public static void main(String[] args) int i = 0; while (i < 10) i++; Thread t = new Thread(new MyExecute("name" + i)); t.start(); } }}class MyExecute implements Runnable private String name; public MyExecute(String name) this.name = name; } public void run() Thread.currentThread().setName(this.name); System.out.println(Thread.currentThread().getName()); }}