1. 要利用线程,首先要继承Thread类,然后重写run方法,启用线程的时候要调用start方法;
2. 外部类在另一个类中可以正常创建对像,但内部类不可以,内部类要想在另一个类中创建对象
必须要把内部内设为静态类;
3.内部内利用线程的时候要 实现Runnable接口,重写run方法;启用线程还要new一个Thread;new的Thread中还要
在()中写上内部内的对象,之后用new的Thread的对象调用start方法;
4.run方法是不可以在()中添加参数的,我们可以在类中创建对象并创建构造函数;
继承Thread的类更其余方法差不多;
5.run方法只可以调用一次,如果中间停了一次,那吗之后就不会调用run方法了;
6.run方法中的while循环
private boolean running = true; 我们可以利用boolean类型来
public void run() { 控制run方法中while循环的进行;
while (runnable) {
System.out.println("线程打印");
}
}
7.线程的优先级:对象掉用setPriority( Thread.NORM_PRIORITY + 一个数字 );//注意这里是掉用第几线程的
机率高了;并不是说它就比其他线程快了; *****线程的的默认优先级是5;
8.Thread.yield();是线程的让步;当线程达成某个条件后;就让给另一个线程执行;但这并不是代表这个线程就
会让另一个线程执行玩在执行;而是执行到这一步让另一个执行一次后cpu重新分配线程执行;
9.join()线程的阻塞;调用这个需要捕查异常;这个的意思是直到执行完调用此方法的线程;才会执行接下来的线程;
10.synchronized ()//既可以修饰代码块;又可以修饰函数;*函数的话不需要()中的参数;修饰函数不需要字符串;
作用:让它所管辖的部分要吗全部执行完;要吗全部都不执行;