大家好!偶是一JAVA新人,来博客报个到.....
今天老师讲解了什么是程序?什么又是进程?什么又是线程?而程序是一个数据的集合。进程是占用内存的数据。线程是运行程序占用量,线程又分为了单线程和多个线程。
线程的创建和启动 三种方法A、B、C
class A extends Thread{
public void run(){
}
}
A a = new A();
a.start();//将线程放入可执行的队列中,等待系统调度执行。
*****************************************************************************
class B implements Runnable{
public void run(){
}
}
B b = new B();
Thread t = new Thread(b);
t.start();
*****************************************************************************
class C extends TimerTask{
public void run(){
}
}
C c = new C();
Timer t = new Timer();
t.schedule(c, 1000, 2000);
*****************************************************************************
线程的通信
监视线程
生产/消费 wait/notify机制
线程的同步
一。同步和异步
线程本身的异步的(并行)
在某些地方需要让线程同步
如何实现线程同步???
1. 锁住某个代码块
synchronized (需要同步的对象) {
// 需要同步的代码
}
2. 锁住某个方法
public synchronized void quqian(int n) {
}
3.使用锁对象
//创建锁
Lock l = new ReentrantLock();
//上锁
l.lock();
//需要同步的代码块
//解锁
l.unlock();
线程的暂停,停止模型
线程暂停:
sleep(1000)
wait();
线程的停止:
必须是run方法自然结束
多线程游戏需要暂停
run(){
while(是否停止){
if(是否暂停){
//逻辑代码
}
}
}
线程的状态
New Thread(新建状态):当线程对象被创建的时候
Runnable(就绪,可执行):当调用完线程的start方法之后
Running(运行时状态):线程正在执行run方法
Not Runnable(非运行状态,阻塞状态,暂停状态,挂起状态):当线程sleep,wait的时候
Dead(死亡状态,终止状态):线程的run方法执行完毕
多线程文件复制的实现与单线程实现的比较
而今天所讲的这些知识,都是用一个小项目来讲的,消费者与生产者的关系,先生产后消费,思考这里面所需要的内容,一步一步实现,对我来说有点难,
很多知识点,都没想到,也没想到去运用它,很多知识点也不是很熟悉,看JPK的API帮助文档,也看的有点头痛,对我来说今天听懂了,算是最大的收获了。
相关推荐
C#.net 同步异步 SOCKET 通讯和多线程总结 本文旨在总结 C#.net 中的同步异步 SOCKET 通讯和多线程编程,涵盖服务端和客户端的实现细节。 一、服务端实现 服务端使用 System.Net 和 System.Net.Sockets 命名空间...
【Windows多线程总结】 Windows操作系统提供了一套完整的API来支持多线程编程,使得开发者可以在同一进程中同时执行多个线程,实现并发处理任务。本文将深入探讨Windows多线程编程的基本概念、线程同步、线程池以及...
【JAVA多线程总结】 Java 多线程是Java编程中的关键特性,它允许程序同时执行多个任务,提高系统的效率和响应性。本篇总结涵盖了Java多线程的基础概念、创建与启动、线程调度、同步与协作以及新特性。 **一、Java...
C#.net同步异步SOCKET通讯和多线程总结 C#.net同步异步SOCKET通讯和多线程总结是指在C#.net环境下实现的同步异步套接字通信和多线程编程的总结。套接字(Socket)是tcp/ip网络协议接口,内部定义了许多的函数和例程...
### 总结 Java多线程提供了强大的并发处理能力,开发者可以通过继承`Thread`类或实现`Runnable`接口来创建和管理线程。正确使用`start()`方法而非`run()`方法是确保线程正确启动的关键。理解Java多线程的工作原理和...
### Java线程总结教程知识点详解 #### 一、操作系统与多线程概念 - **多任务与分时操作系统**:现代操作系统(如Windows、Linux)能够实现多任务处理,即在用户看来似乎多个应用程序在“同时”运行。实际上,这是...
C++多线程总结 本文档对C++多线程编程进行了总结,介绍了三种创建线程的方法:CreateThread函数、AfxBeginThread函数和_beginthread()/_beginthreadex()函数,同时对线程的管理和终止进行了详细的讲解。 ...
### Java编程中多线程总结 #### 一、Java多线程概述 Java多线程是Java编程语言中一个至关重要的部分,它允许程序在单个应用程序中并发地执行多个任务,极大地提高了程序的效率和响应性。在Java 5之前,多线程的...
总的来说,Java线程总结的知识点涵盖了线程的基本概念、创建与管理、生命周期、同步机制、线程间通信以及线程的活跃性问题。理解和掌握这些知识点对于开发高效、稳定、并发的Java应用程序至关重要。
### 线程总结笔记——基于Linux环境下的线程控制与同步 #### 一、引言 本篇“线程总结笔记”主要针对Linux环境下多线程编程中的关键概念进行了整理与归纳,尤其是针对线程同步的问题进行了深入探讨。通过一个具体...
c# 多线程总结
在Windows应用程序开发中,MFC(Microsoft Foundation Classes)框架提供了对多线程的支持,使得开发者可以构建更加复杂的并发系统。MFC中的线程分为两类:工作者线程和用户界面线程,它们各自有不同的特性和用途。 ...
配合`JAVA多线程总结.ppt`,你可以得到一个更直观和简洁的概览,快速回顾和掌握上述关键知识点。虽然中文版翻译可能存在不足,但原版英文书籍通常能更准确地传达作者的意图和细节,值得深入阅读。
C#dotnet同步异步SOCKET通讯和多线程总结
本文将深入探讨Java多线程的相关知识点,包括线程的创建、线程的状态、同步机制以及线程安全问题。 1. **线程的创建** Java提供了两种创建线程的方式: - **继承Thread类**:自定义类继承Thread类,并重写run()...
Java线程是并发编程的核心部分,它允许程序在同一时间执行多个任务,极大地提高了程序的效率和响应速度。在Java中,实现多线程有两种主要方式:继承`Thread`类和实现`Runnable`接口。 1. 继承`Thread`类: 当创建...
JAVA线程总结,包含线程池,显示使用线程实现异步编程,基于JDK中的Future实现异步编程,JDK中的FutureTask等
本文将对C++中三种常见的线程创建方法进行总结,并讨论线程同步的相关知识。 1. 使用 `CreateThread` 函数生成的线程 - **函数原型**:`HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD ...
MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于简化Windows应用程序开发,它提供了对Windows API的封装,包括多线程支持。在MFC中,多线程分为两类:工作者线程(Worker Thread)和用户界面线程...