对于多线程来说,所有方法都在Thread当中:
static Thread currentThread() 获得当前正在执行的线程对象
long geiId() 获得该线程的标识符
String getName()获得该线程的名称
int getPriority()获得线程的优先级
Thread.State getState() 返回该线程的状态
void interrupt() 中断线程
void setName()设置线程的名字
void setPriority(int newPriority)设置线程的优先级
static void sleep(long millis)设置线程休眠
static void vield()暂停当前线程,并执行其他线程
由于线程 *** 作的不稳定性,所以一般线程启动之后不会对线程的名字进行修改。
package obc18; public class ThreadDemo02 implements Runnable{ int ticket = 10; @Override public void run() { for(int i = 0;i<20;i++){ if(ticket>0){ System.out.println(Thread.currentThread().getName()+"买票成功,剩余票数为:"+ --ticket); } } } }
package obc18; public class Main { public static void main(String[] args) { ThreadDemo02 th = new ThreadDemo02(); new Thread(th,"线程1").start(); new Thread(th,"线程2").start(); new Thread(th,"线程3").start(); new Thread(th,"线程4").start(); } }
main方法:
package obc; public class OopDemo02 { public static void main(String[] args) { System.out.println(Thread.currentThread().getName()); } }
通过程序发现,主函数本身是一个线程,那么java运行的时候,最少需要几个线程?下一篇再说说。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)