新手初步学Java,正在JavaSE中,每天留下我当天学习所得跟笔记,希望大家能够多多批评与指教,促进共同进步!十一!
时间:
2015-11-08 17:42:01
阅读:
158
评论:
收藏:
0
[点我收藏+]
- 线程(thread):线程是进程的执行路径,或者叫控制单元。进程就是一个正在执行的程序,而一个进程中至少会有一个线程。即线程就是进程中的一个独立的控制单元,他控制着进程中的执行。(JVM启动时,会有一个java.exe进程,该进程中至少有一个线程控制java程序的执行,且该线程执行的代码都在main方法中,即为主线程。)
- 创建线程的第一种方法,建立一个类,并继承thread类,重写run()方法(thread中的run方法什么都没有),然后对该类创建一个对象(同时也创建了一个线程)。启动该线程使用该对象必须调用start()方法(此方法会启动该线程并调用该线程的run()方法)。
- 多线程的并发执行并不是真正意义下的同时执行,在单核的情况下,CPU只能在某一时刻执行某一个进程里的某一个线程,然后做着快速的切换。
- 线程可以通过getName()方法来获取此线程的名称,setName()手动定义此方法的名称。currentThread()返回当前进程的对象
- 创建线程的第二种方式,定义一个类实现Runnable接口, 然后重写runnable接口中的方法,通过thread类建立线程对象,将runnable接口的子类对象作为实际参数传递给thread类的构造函数,调用thread类的start方法开启线程并调用runnable接口子类的run方法。
- 创建线程的两种方式,实现方式跟继承方式的区别,实现方式避免了单继承的局限性,一般来说,创建线程一般使用实现方式。
- 为了保证多个线程对一个对象进行操作的安全问题,就有了synchronized块,即同步。格式为synchronized(){里面放着需要进行操作的对象或数据};
- Synchronized同样能够修饰函数,那么此函数的锁是this。但是,如果同步函数被static所修饰,那么此函数的锁不再是this,因为静态方法中不能存在this。此时的锁为Class对象(该类所属的字节码文件对象,类名.class)。
- 死锁:同步中嵌套同步,则容易发生死锁现象。
新手初步学Java,正在JavaSE中,每天留下我当天学习所得跟笔记,希望大家能够多多批评与指教,促进共同进步!十一!
原文:http://www.cnblogs.com/yishiluo/p/4947554.html