黑马程序员--多线程笔记

------- android培训java培训、期待与您交流! ----------
一.创建线程
***1.继承Thread
		Thread定义:
			定义一个类,然后继承Thread,
			格式:class 类名 extends Thread {
					//..定义方法
				}
		线程调用:
			//匿名对象调用;
			new 类名().start(); 
			//对象调用:
			类名 变量名 = new 类名();	
			变量名.start();
***2.实现Runnable
		Runnable定义:
			定义一个类,然后实现Runnable,
			格式:class 类名 implements Runnable {
					public void run();//..定义run方法
				}
		线程调用:
			//先创建一个实现了Runnable的对象(比如说对象名为r),然后创建一个Thread对象(比如说对象名为t)。
			然后将对象-run,传入到-thr中,调用Thread的start方法。
			格式:t(r).start();
	3.使用匿名内部类
		方法1:new Thread(){
				public void run();//..定义run方法
				}.start();
		方法2:new Thread(new Runnable(){
				public void run();//..定义run方法
				}).start();
二.线程常用方法
	1.currentThread
		currentThread();它是Thread的一个静态方法,它的返回值是一个Thread类型,作用是来获取当前线程
		调用:Thread.currentThread();
	2.getName, setName
		setName();设置线程的名字;
		getName();获得线程的名字;
	3.sleep
		使线程休眠。 
	4.setDaemon
		守护线程。守护线程不会单独运行
	5.join
		加入线程。当前线程暂停, 等待指定线程执行完毕后再继续
		
三.同步
	1.什么是同步
		在多线程并发访问同一资源时, 有可能出现线程安全问题. 
		为了解决这种问题, 我们就可以使用同步技术.
		将多个线程访问资源的代码进行同步.
  * 2.同步代码块
		将需要同步的代码放在 synchronized(){} 代码块中, 在小括号中指定锁对象
		多段使用相同锁的同步代码块, 同一时间只能执行一个, 必须等待一个执行结束后其他的才能继续执行
  * 3.同步方法
		如果整个方法内的代码都需要同步, 可以在方法前加上synchronized修饰
		只有在同一个类中的几个方法可以使用同步方法的形式进行同步, 如果不同类中的几个方法想要同步, 必须使用同步代码块
		因为同步方法默认使用this作为锁对象
	4.死锁
		多线程并发执行时, 如果多段同步代码嵌套使用, 有可能互相冲突产生死锁, 导致程序阻塞.
		在编程的过程中尽量不要将同步代码嵌套使用, 避免产生死锁.
		
四.通信
	1.什么是通信
		在多线程并发执行的时候, 可以使用wait()和notify()方法在多个线程间互相通信
	2.怎么使用
		通信的代码必须写在同步代码中, 必须使用锁对象来调用wait()和notify()
		wait()方法可以控制当前线程等待, 直到其他线程调用notify()或者notifyAll()方法才被唤醒

  ------- android培训java培训、期待与您交流! ----------   详细请查看: http://edu.csdn.net/heima/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值