1 package 多线程; 2 class A{ 3 public synchronized void say(B b){ 4 System.out.println("A说:你把你的本给我,我把我的笔给你!"); 5 b.get(); 6 } 7 public synchronized void ...
分类:
编程语言 时间:
2017-04-06 21:09:37
阅读次数:
252
一.相关知识: Java多线程程序设计到的知识: (一)对同一个数量进行操作 (二)对同一个对象进行操作 (三)回调方法使用 (四)线程同步,死锁问题 (五)线程通信 等等 二.示例一:三个售票窗口同时出售20张票; 程序分析:1.票数要使用同一个静态值 2.为保证不会出现卖出同一个票数,要java ...
分类:
编程语言 时间:
2017-03-09 11:27:36
阅读次数:
670
一.多线程共享数据在多线程的操作中,多个线程有可能同时处理同一个资源,这就是多线程的共享数据。二.线程同步解决数据共享的安全问题,必须使用同步,所谓同步就是指多个线程在同一个时间段内只能有一个线程执行指定代码,其他线程要等待此线程完成之后才可以继续执行。线程..
分类:
编程语言 时间:
2016-11-23 08:28:54
阅读次数:
198
第一章 基本网络概念 网络 网络的分层 IP TCP和UDP Internet 客户/服务器模型 Internet标准 第二章 流 输出流 输入流 过滤器流 阅读器和书写流 第三章 线程 运行线程 从线程返回信息 同步 死锁 线程调度 线程池和Executor ...
分类:
编程语言 时间:
2016-09-11 07:52:25
阅读次数:
165
/* *定义一个多线程 */ package com.thread; public class TicketThread2 implements Runnable { //定义1000张票 public static int ticket = 100; Object obj = new Object ...
分类:
编程语言 时间:
2016-09-08 19:57:44
阅读次数:
134
大家使用多线程无非是为了提高性能,但如果多线程使用不当,不但性能提升不明显,而且会使得资源消耗更大。下面列举一下可能会造成多线程性能问题的点: 死锁 过多串行化 过多锁竞争 切换上下文 内存同步 死锁 过多串行化 过多锁竞争 切换上下文 内存同步 下面分别解析以上性能隐患 死锁 关于死锁,我们在学习 ...
分类:
编程语言 时间:
2016-05-28 17:17:03
阅读次数:
238
线程同步: 为什么需要同步 ① 线程同步是为了防止多个线程访问一个数据对象时,对数据造成破坏。 ② 线程的同步是保证多线程安全访问竞争资源的一种手段。 同步和锁 ① Java中每一个对象都有一个内置锁。 ② 当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例 ...
分类:
编程语言 时间:
2016-05-07 23:38:09
阅读次数:
307
这一章节我们来简单讨论一下死锁,其实死锁是一个比较大的话题,但是我这里只是根据我前面的银行转账的例子来说明,在后面会有详细的专栏来说明并发编程的各个方面的问题。1.什么是死锁?是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。2.怎样会引起死锁?(1) 互斥条件:一个资源每次只能被一个进程使用;(2) 请求与保持条件:既拿...
分类:
编程语言 时间:
2016-01-15 13:03:23
阅读次数:
185
9.7 线程同步对象速查表对象何时处于未触发状态何时处于触发状态成功等待的副作用进程进程仍在运行的时候进程终止的时(ExitProcess、TerminateProcess)没有线程线程仍在运行的时候线程终止的时候(ExitThread、TermimateThread)没有作业作业尚未超时的时候作业...
分类:
编程语言 时间:
2015-08-21 13:04:29
阅读次数:
283
线程死锁
是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的线程称为死锁线程。
例如:某一商店有两个人PS和PB在做交易,PS手里拿着货物对PB说,你先给我钱我在给你货,而PB拿着钱对PS说你先给我货我在给你钱。两个人就此僵持下去,永远也无法做成交易,这就构成...
分类:
编程语言 时间:
2015-08-13 15:58:31
阅读次数:
118