多线程
zjtMeng
攻城狮
展开
-
Java多线程(一)
一、创建线程 第一种方式:继承Thread 步骤: 1,定义类继承Thread 2,复写Thread类中的 run 方法,目的是将自定义的代码存储在run方法,让线程运行 3,调用线程的start方法,该方法有两个作用:启动线程,调用run方法; public class ThreadDemo { public static void main(String[] arg...原创 2018-07-25 14:56:36 · 115 阅读 · 0 评论 -
Java多线程(二)
一、创建多线程 第二种方式:实现 Runnable 接口 步骤: 1,定义类实现Runnable接口; 2,覆盖Runnable接口中的 run 方法; 目的:将线程要运行的代码存放在该run方法中。 3,通过Thread 类建立线程对象; 4,将Runnable 接口的子类对象作为实际参数传递给Thread类的构造函数 5,调用Thread类的start 方法开启线...原创 2018-07-25 20:29:26 · 115 阅读 · 0 评论 -
多线程之消费者生产者问题
消费者生产者问题: 这个问题是一个多线程同步问题的经典案例,生产者负责生产对象,消费者负责将生成者产生的对象取出,两者不断重复此过程。这过程需要注意几个问题: 不论生产者和消费者有几个,必须保证: 1.生产者每次产出的对象必须不一样,产生的对象有且仅有出现一次; 2.消费者每次取出的对象必须不一样,取出的对象有且仅有出现一次; 3.一定是先产生该对象,然后对象才能被取出,顺序不能乱; ...原创 2018-08-01 22:19:55 · 4422 阅读 · 0 评论 -
wait 与 sleep 区别
共有四条不同点: 1.来自不同的类 wait() 方法属于Object类,sleep()方法属于Thread类; 2. 资源的释放(锁的释放) wait()方法会释放CPU执行权给其他的线程,而自身进入等待池中等待;sleep()方法会占用CPU,不让出CPU的执行权。也可以解释为sleep没有释放锁,而wait()释放了锁。 (通常wait() 不会加时间进行限制,需要等待其他线程调用...原创 2018-09-17 17:18:27 · 157 阅读 · 0 评论