Java多线程
定义多线程两种方式:
1.继承Thread
2.实现Runnable接口
start和run的区别:start是开启线程,并执行该线程中的执行语句也就是run方法中的语句。通过对象直接调用run属于对象的调用线程以创建但是未开启,仍然为单线程程序。
如何获取正在执行的线程以及线程名:Thread.currentThread()返回当前正在运行的线程,线程.getName()显示正在运行的线程名,
线程.setName(String s)更改线程名。
多线程安全性问题的两种处理方法:
当多条语句在操作同一个线程共享数据时,可能会出现错误。
1.通过同步代码块synchronized()来解决。
2.也可以通过synchronized来修饰函数形成同步函数来解决。适用于该函数中所有语句都需要同步的的情况,如果不是会导致程序运行效率减低。注意:非静态同步函数的锁是this,静态同步函数的锁是该类对应的字节码文件对象 类名.class。