Java学习——多线程例子:银行】的更多相关文章

package cys; public class Example9_3 { public static void main(String[] args) { // TODO Auto-generated method stub Bank bank = new Bank(); bank.setMoney(200); Thread thread1,thread2; thread1=new Thread(bank); thread1.setName("One"); thread2=new…
package cys; public class Example9_2 { public static void main(String[] args) { // TODO Auto-generated method stub People personal1,personal2; StringBuffer str=new StringBuffer(); personal1 = new People("李四",str); personal2 = new People("王五…
内容介绍 Thread 线程创建 线程池 线程状态图 1 多线程 1.1     多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念. 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序. 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线…
基础知识 每个正在系统上运行的程序都是一个进程(process).每个进程包含一到多个线程(thread).进程也可能是整个程序或者是部分程序的动态执行. 线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务. Java对多线程的支持是非常强大的,他屏蔽掉了许多的技术细节,让我们可以轻松的开发多线程的应用程序.Java里面有2个方法实现多线程, 1 继承 Thread类,比如 class M…
本文内容来源于  历经5年锤练--史上最适合初学者入门的Java基础视频 线程:就是进程中一个负责程序执行的控制单元(执行路径) 每一个线程都有自己运行的内容.这个内容可以称为线程要执行的任务. 多线程好处:解决了多部分同时运行的问题. 多线程的弊端:线程太多回到效率的降低. JVM启动时就启动了多个线程,至少有两个线程可以分析的出来. 1,执行main函数的线程, 该线程的任务代码都定义在main函数中. 2,负责垃圾回收的线程. 多线程状态图: 如何创建一个线程呢? 创建线程方式一:继承Th…
在java多线程当中还有一种关系需要我们来重点掌握,那就是生产者和消费者的关系.那么什么是生产者,什么是消费者呢?我们可以举个例子来说,有张三.李四负责生产烤鸭,王五.马六负责吃烤鸭,那么前者生产完烤鸭之后,如果烤鸭没有被吃完的话,这个时候就不再生产了,如果此时烤鸭吃没了,这个时候消费者就要告诉生产者,烤鸭吃没了,你要继续生产烤鸭,否则生产者一直处于等待的状态. 如何来用代码体现呢? 1.定义两个类,一个是生产者类 Product  一个是消费者类Consume,两个类分别实现Runnable中…
关于多进程与多线程 使用多进程的目的:提高CPU利用率. 使用多线程的目的:提高应用程序?利用率. 多线程与多进程区别:进程间内存独立:同一个进程的线程间共享"堆内存和方法区内存",栈内存是独立的,一个线程一个栈. JVM原理 Java命令启动JVM虚拟机,等于启动了一个进程,该进程会自动启动一个主线程,然后主线程去调用某个类的main方法,所以main方法执行在主线程中. 单线程中,一个方法调用另一个方法,则这些方法按序压入栈中,此时JVM中只有一个栈. 线程的创建和启动 方法一:继…
这一节我们来说一个示例就是卖票示例: 需求: 我们现在有100张票,然后分四个窗口来卖,直到卖完为止. 思路: 1.先定一个一个票类,描述票的属性,还有打印卖出的票,并且实现Runnable中的run方法. 2.定义一个主方法,把这个类当成一个独立的运行程序. 3.在主方法当中创建4个线程来卖票. 代码: class Ticket implements Runnable { ; public void sellT() { while(true) { ) System.out.println(nu…
现在我们有这么一个需求,就是在主线程在运行的同时,我们想做其他的任务,这个时候我们就用到了多线程.那么如何创建多线程,我们知道在系统当中qq的多线程创建是由操作系统来完成的,那么如果我们想在java当中创建多线程的话,应该如何去做呢?解决问题的时候,我们第一个应该想到的是,java当中是否给我们提供了解决该问题的对象,并且把这个对象暴漏出来供我们使用,特别是设计系统.这个时候我们去查阅javaapi. 创建线程的步骤: 1.创建一个类继承Thread类,此时这个类也就是线程 2.在该类当中覆盖T…
内容介绍 线程安全 线程同步 死锁 Lock锁 等待唤醒机制 1    多线程 1.1     线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 我们通过一个案例,演示线程的安全问题: 电影院要卖票,我们模拟电影院的卖票过程.假设要播放的电影是 “功夫熊猫3”,本次电影的座位共100个(本场电影只能卖100张票). 我们来模拟电影院的售票窗口,实现多个窗口同时卖 “魔童哪吒”这…