【Abstract】
1.了解程序,进程,线程,多线程,并发编程的含义
2.多线程实例化 实现冰球简单弹跳功能
【Content】
1.程序:算法+数据结构,在计算机中以文件的形式存储
2.进程:操作系统中已经执行的任务,一个任务即一个进程,一般可认为exe文件。
3.线程:1)Thread(是计算机运行的最小单位)一个进程中有多个线程。
2)线程的三种状态:就绪,阻塞,运行。
4.多线程(并发编程):1)多个线程同时进行,一个进程中分别分配空间给每个线程,线程与线程之间是相 互独立的,但线程与线程是相互共享资源的。
2)这与单个线程不同,单个线程是顺序编程的,可能会引起阻塞,并发编程明显提高 了编程的效率。
【Code】
1.创建线程有两种方法
1)继承Thread类,重写run方法
public class MyThread extends Thread{ public void run() { System.out.println("线程启动"); } }
public class mainTest { public static void main(String[] args){ MyThread th=new MyThread(); th.start(); }
2)实现Runnable接口
public class RunnableTest implements Runnable{ public static void main(String[] args){ RunnableTest rt=new RunnableTest();//创建Runnable对象 Thread th=new Thread(rt);//构造Thread对象 } //线程运行入口 public void run() { System.out.println(">>>线程运行啦!!!"); } }
3)多线程的简单实现(实现Runnable接口)
package cn.luoyao.f0201; import java.awt.Graphics; import javax.swing.JFrame; public class BallFrame extends JFrame { /**创建一个冰球界面 * @param args */ ThreadDemo l = new ThreadDemo(this); public static void main(String[] args) { BallFrame bf = new BallFrame(); bf.showUI(); } /** * 创建冰球界面 */ public void showUI(){ this.setTitle("冰球"); this.setSize(500, 500); this.setDefaultCloseOperation(3); this.setLocationRelativeTo(null); this.setVisible(true); new Thread(l).start();//创建Thread类对象,调用start方法 } /** * 实现重绘的方法 */ public void paint(Graphics g){ super.paint(g); System.out.print(l.getX()+","+l.getY()+" "); g.fillOval(l.getX(), l.getY(), 50, 50); } }
测试类
package cn.luoyao.f0201; import java.awt.Graphics; import java.util.Random; public class ThreadDemo implements Runnable{ public int x; public int y; public int movex=5; public int movey=5; private BallFrame bf; private Random ran = new Random(); /** * 传参 * @param bf */ public ThreadDemo(BallFrame bf){ this.bf = bf; //随机赋值 x = ran.nextInt(100); y = ran.nextInt(100); } /** * 重写run方法 */ @Override public void run() { while(true){ x +=movex; y+=movey; //判断 if(x>=450){ movex = -movex; }else if(y>=450){ movey = -movey; } else if(x<=10){ movex = -movex; }else if(y<=10){ movey = -movey; } bf.paint(bf.getGraphics()); try { Thread.sleep(50); //每隔50ms画一次 } catch (InterruptedException e) { e.printStackTrace(); } } } /** * 取得x值 * @return x */ public int getX(){ return x; } /** * 取得y值 * @return y */ public int getY(){ return y; } }
【summary】
1.对于传参 不是很熟练
2.对于判断 要考虑清楚所有可能出现的情况
相关推荐
### Java并发编程与多线程知识点详解 #### 1. 线程安全与锁定机制 - **确保线程安全**: 在Java并发编程中,确保线程安全是至关重要的。通常有三种方法来实现这一点: - 使用`synchronized`关键字:这是最基本的...
│ 高并发编程第一阶段05讲、采用多线程方式模拟银行排队叫号.mp4 │ 高并发编程第一阶段06讲、用Runnable接口将线程的逻辑执行单元从控制中抽取出来.mp4 │ 高并发编程第一阶段07讲、策略模式在Thread和Runnable...
Java并发编程是Java开发中的重要领域,特别是在高并发、高性能的应用场景中不可或缺。并发编程能够有效地利用多核处理器资源,提高程序的运行效率,优化系统性能。以下将详细阐述Java并发编程的一些关键知识点。 ...
本资源“C#多线程开发之并发编程经典实例”提供了丰富的实例,旨在帮助C#开发者深入理解并掌握多线程技术。以下是关于C#多线程和并发编程的一些关键知识点: 1. **线程基础**:线程是操作系统分配CPU时间的基本单位...
02、【中级原理专题】java并发编程多线程高级专题课程 03. 【中级原理】高并发编程原理和线程池精通教程 04、【高级原理】Java并发多线程编程基础原理与实战 05、【高级原理】【高级原理实战】Java并发编程与高并发...
根据提供的文件信息,“java并发编程实践 pdf”及“java并发编程pdf”的标题与描述,以及“java 并发编程 多线程”的标签,我们可以推断出这份文档主要讲解了Java语言中的并发编程技术,包括多线程的概念、实现方法...
本课程将结合大量图示及代码演示,带你掌握多线程并发编程(线程安全,线程调度,线程封闭,同步容器等)与高并发处理思路与手段(扩容,缓存,队列,拆分等),构建完整的并发与高并发知识体系,胜任实际开发中并发...
Java多线程与并发编程是Java开发中至关重要的一部分,它涉及到如何高效地利用CPU资源,以实现程序的并行执行。在操作系统层面,多任务和多进程是通过分配不同的内存空间来实现的,而线程则共享同一进程的内存,这...
在iOS开发中,多线程和并发编程是关键的技术领域,它们允许应用程序同时处理多个任务,提高用户体验并优化系统资源的使用。以下是对标题“iOS并发编程指南与多线程编程指南合集”以及描述中提及知识点的详细解读: ...
### 深入Java多线程与并发编程 在当今高度发展的信息技术领域中,随着硬件技术的进步和软件架构设计的复杂化,多线程与并发编程成为提高程序执行效率、增强系统性能的关键技术之一。本篇文章将围绕Java多线程与并发...
《C++并发实战》是一本深入探讨C++11及后续标准中并发和多线程编程的权威指南。这本书详细阐述了如何利用C++的新特性来编写高效、可靠的并发程序,为开发者提供了全面的理论知识和实践技巧。 C++11引入了对并发编程...
它以并发编程和多线程技术为核心,致力于解决高性能处理的需求。无论是开发者、计算机专业学生,还是对高并发多线程技术感兴趣的初学者,都能从中获得丰富的知识和实践经验。 该代码适用于各种需要高并发、多线程...
java多线程并发编程知识导图笔记.xmind
《Java并发编程实战》这本书是关于Java语言中并发编程技术的经典著作。它详细介绍了如何在Java环境中有效地实现多线程程序和并发控制机制。在Java平台上,由于其本身提供了强大的并发编程支持,因此,掌握并发编程...
Netty多线程并发编程知识点总结 Netty多线程并发编程是指在Netty框架中使用多线程技术来实现高性能、高并发的网络编程。下面是关于Netty多线程并发编程的知识点总结: 一、 JAVA 内存模型与多线程编程 在Java中,...
Android开发经验谈:并发编程(线程与线程池) Android开发中,线程和线程池是两个非常重要的概念。线程是Android开发中的一种基本单位,它可以帮助我们实现并发编程,提高应用程序的性能和响应速度。然而,线程也...
c语言入门 并发编程基础 线程同步机制 并发编程中的问题
java线程与并发编程是java并发编程的盛典,绝对高清版
《Java并发编程实践》是一本深入探讨Java多线程编程的权威著作,它详细阐述了在并发环境下如何设计和实现高效、可靠的程序。这本书涵盖了Java并发编程的核心概念、工具和最佳实践,对于想要提升Java并发编程技能的...