1、创建多线程1、继承Thread类子类覆盖父类中的run方法,将线程运行的代码存放在run中。建立子类对象的同时线程也被创建。通过调用start方法开启线程。2、实现Runnable接口子类箔抡那轱覆盖接口中的run方法。通过Thread类创建线程,并将实现了Runnable接口的子类对象作为参数传递给Thread类的构造函数。Thread类对象调用start方法开启线程。
2、线程安全问题导致安全问题的出现的原因:多个线程访问出现延迟。线程随机性。注:线程安全问题在理想状态下,不容易出现,但一旦出现对软件的影响是非常大的。