本文参考网上一些例子,使用synchronized及对象的wait/notify方法实现。
首先定义3个类,一个是容器类,属性有容器最大容量和当前容量;
另外两个分别是生产者和消费者类,二者分别有生产方法和消费方法(均在各自的run方法中实现,实际上最好抽离出来成为一个单独的方法)
package test3;
class Container{
public int max; /...
分类:
编程语言 时间:
2015-04-09 08:57:51
阅读次数:
147
Java多线程之 – 进程和线程概念进程
程序的动态执行过程
包括占用的资源(内存、CPU)和线程
线程
线程是程序中最小的执行单位
一个进程有多个线程
线程共享进程的资源
进程和线程的区分我们可以想象为进程为班级而线程是邦奇中得每一个学生线程之间的交互
互斥,类似于每一个学生都为了第一名而你争我让,线程也是,都想抢占CPU的资源
同步,当举行运动会的时候,大家都团结一心,彼此共享自己的资源 Thr...
分类:
编程语言 时间:
2015-04-09 08:54:08
阅读次数:
234
public class ThreadDemo3 {
public static void main(String[] args) {
Resource res = new Resource();
Input input = new Input(res);
Output output = new Output(res);
Thr...
分类:
编程语言 时间:
2015-04-09 08:51:35
阅读次数:
157
最近面试一直被多线程所折磨。因为之前的公司一直没有太多高并发的处理,所以对JAVA的多线程并没有太多实战经验。今天面试的时候再多线程上被虐的很惨。晚上回来赶紧写一下demo去理解一下。事例1: 1 public class A 2 { 3 public synchronized static...
分类:
编程语言 时间:
2015-04-09 06:08:53
阅读次数:
171
同步的前提
必须要有两个或以上的线程
必须是所有的线程使用同一个锁
这样保证同步中只能有一个线程在运行
同步的优点解决了多线程的安全问题同步的缺点多个线程判断锁,较为耗费资源class ThreadDemo1 {
public static void main(String[] args) {
Ticket tic = new Ticket();
Threa...
分类:
编程语言 时间:
2015-04-08 09:12:33
阅读次数:
149
java多线程-两种实际应用场景模拟 转自 薛定谔的猫(一)先说说第一个,模拟对信息的发送和接收。场景是这样的:就像笔者之前做的消息的发送,一个是服务器,一个是客户端。发送的话,要保证信息100%的发送给客户端,那么发给客户端之后,客户端返回一个消息告诉服务器,已经收到。当服务器一直没有收到客户端返...
分类:
编程语言 时间:
2015-04-07 19:28:07
阅读次数:
283
楼主决定要好好地把Java的多线程给看一下,所以特地来写下博客,内容大部分都是摘抄自网上看到的资料或者书籍,能给出链接的我会给出链接。嗯,希望大家跟楼主一起抱团,加油加油↖(^ω^)↗
1.多线程相关概念
程序:为了完成特定任务,用某种语言编写的一组指令集合。
进程:运行中的程序,系统跳读和资源分配的一个独立单位,操作系统会为每一个进程分配一段内存空间。
线程:比进程更小的...
分类:
编程语言 时间:
2015-04-07 12:08:27
阅读次数:
154
在前一篇文章中说到,所有处在就绪状态中的线程,操作系统会选择优先级最高的优先进行调度,那么是不是优先级高的线程就一定比优先级低的线程先执行呢?线程的优先级又是怎么划分的呢?这篇文章,楼楼就要来说说这个问题啦!欢迎关注我的个人博客主页www.anycodex.com
1.线程的优先级
在Java中,线程优先级的范围为0-10,整数值越大,说明优先级更高。
几个相关的宏定义:
...
分类:
编程语言 时间:
2015-04-07 12:07:13
阅读次数:
217