标签:java
创建线程的方式
--------------------------------------
1. 继承 Thread 类。
2.实现Runnable接口。
1)、通过Thread类创建线程,并把实现Runnable接口的了类对象做为参数传递给Thread类的构造函数。Thread类调用start()方法启动线程。
3.线程调用了start方法并不立即执行,而是处于就绪状态,等待cpu的执行权。
4.线程的安全问题。
线程同步
------------------------------------------------
1.线程同步:synchronized(对象){..需要同步的代码块..}。此处的“对象”是任意类的对象。该对象如同锁的功能。
2.线程同步的前提:
1)同步需要两个或者多个线程。
2)多个线程使用同一个锁
3.同步会降低程序的运行效率。因此同步中的代码尽量的短。
4.同步方法用的是方法所在对象的锁。
线程等待(wait)
--------------------------------------
1.当线程调用wait后,线程释放cpu使用权后处于等待状态,当再次获取cpu使用权后,代码从wait后面执行。
线程的优先级
---------------------------
1.setPriority(); //设置线程的优先级
2.getPriority(); //获取线程的优先级
3.优先级高的获取cpu的机率大一些。
线程状态转换图
------------------------------------------------
strng
---------------------------------------------------
1.“==”是判断两个字符串对象的内存地址是否相等
2.“equal”是判断两个字符串对象的内容是否相等
3.StringBuffer是线程安全的。效率比较低。StringBuilder是后来加的一个类,是线程不安全的,效率高。
4.基本数据类型的拆箱和装箱。
标签:java
原文地址:http://11181682.blog.51cto.com/11171682/1772484