很多多线程是模拟出来的,需要多核的cpu才能执行多线程
Thread类也是实现了Runnable的
一般使用Runnable,方便继承多个接口。
new Thread(()-> System.out.println("我爱你")).start();
//函数式接口
public interface Runnable {
/**
* When an object implementing interface <code>Runnable</code> is used
* to create a thread, starting the thread causes the object's
* <code>run</code> method to be called in that separately executing
* thread.
* <p>
* The general contract of the method <code>run</code> is that it may
* take any action whatsoever.
*
* @see java.lang.Thread#run()
*/
public abstract void run();
}
getPriority() //查看优先级
setPriority() //设置优先级
多个线程操作同一个资源
并发:同一个对象被多个线程操作
处理多线程问题的时候,需要线程同步,线程同步其实就是一种等待机制,多个想要访问此对象的线程进入该对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。
形成条件:队列+锁(synchronized)
cs