Java--------多线程

java多线程编程


1、run方法  为线程体  为线程执行代码

2、start方法  运行线程

3、线程的创建:

(1)继承Thread类。

class End implements Runnable{
	public End(){
	}
	
	public End(String s){
		this.name = s;
	}
	
	public void run(){
		for(int i=0;i<10;i++){
			System.out.println(name + " run  " + i);
		}
	}
	
	String name;
}

public class testthread{
	public static void main(String[] args){
		End end1 = new End("mumu");
		End end2 = new End("lulu");
		Thread t1 = new Thread(end1);
		Thread t2 = new Thread(end2);
		t1.start();
		t2.start();
	} 
}


(2)实现Runnable接口

public class hello{
    public static void main(String[] args) {
       Mythread m = new Mythread();
       
       Thread t1 = new Thread(m);
       Thread t2 = new Thread(m);
       
       t1.start();
       t2.start();
    } 
}

class Mythread implements Runnable{
	private int count = 10;

	public void run(){
		while(count > 0)
			System.out.println("count= " + --count);
	}
}

4、两种构建方法的比较:

Runnable比Thread具有以下优势:

    、方便实现资源共享

    、避免了单继承机制

    、可以被多个线程公用

5、isAlive()方法判断线程是否启动。

      join()方法强制执行线程。

  sleep(2000)方法休眠 参数单位为毫秒。休眠时若被打断,会抛异常。

  interrupt()方法中断线程,等待该线程结束后,再执行自己。

setDaemon(true)将线程设置为守护线程。需在线程开始之前设置。守护线程即为后台线程,当主线程停止运行时用户线程将会继续运行,如果全都是后台进程的话,那么jvm结束。(只有在当前jvm中所有的线程都为守护线程时,jvm才会退出。)守护线程具有最低的优先级。

setPriority(8);设置优先级,主线程的优先级为5.执行哪个线程还是取决于cpu资源而不是优先级。

getPriority() 得到优先级。

Thread.currentThread().yield(); currentThread为当前正在执行的线程,yield()为线程的礼让,

是让当前线程暂停,转入就绪状态,让系统的线程调度器重新调度一次

6、将方法设置为临界资源,在同一时刻只允许有一个线程使用这个方法。

 eg:public synchronized void sale() 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值