对于多线程来说,所有方法都在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运行的时候,最少需要几个线程?下一篇再说说。



