多线程的学习笔记
来源:互联网 发布:mac如何强制退出软件 编辑:程序博客网 时间:2024/05/22 01:58
多线程:
进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间。
线程:进程中的一个执行单元,杜泽进程中的程序的运行,一个进程中至少要有一个进程
一个进程可以有多个线程,称之为多线程的应用程序。
两种方式:1.继承Thread 重写run方法,重建子类对象,调用start()方法
2.实现接口Runnable 实现run方法,创建Tread对象,将Runnable接口的子类对象作为参数传递给Tread类的构造函数,调用start()方法。
class Thread{
private Runnable target;
Thread(Runnable target)
{
this.target = target;
}
public void run()
{
if(target!=null)
{
target.run();
}
}
public void start()
{
run();
}
}
实现Runnable比继承Thread好,避免了继承的单一性。
售票案列:
class Ticket implements Runnable
{
private int tickets = 100;
public void run()
{
while(true){
if(tickets>0)
{
System.out.println(Thread.currentThread().getname()+"......"+tickets--);
}
}
}
}
class ThreadDemo
{
Ticket t= new Ticket();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
Thread t4 = new Thread(t);
t1.start();
t2.start();
t3.start();
t4.start();
}
进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间。
线程:进程中的一个执行单元,杜泽进程中的程序的运行,一个进程中至少要有一个进程
一个进程可以有多个线程,称之为多线程的应用程序。
两种方式:1.继承Thread 重写run方法,重建子类对象,调用start()方法
2.实现接口Runnable 实现run方法,创建Tread对象,将Runnable接口的子类对象作为参数传递给Tread类的构造函数,调用start()方法。
class Thread{
private Runnable target;
Thread(Runnable target)
{
this.target = target;
}
public void run()
{
if(target!=null)
{
target.run();
}
}
public void start()
{
run();
}
}
实现Runnable比继承Thread好,避免了继承的单一性。
售票案列:
class Ticket implements Runnable
{
private int tickets = 100;
public void run()
{
while(true){
if(tickets>0)
{
System.out.println(Thread.currentThread().getname()+"......"+tickets--);
}
}
}
}
class ThreadDemo
{
Ticket t= new Ticket();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
Thread t4 = new Thread(t);
t1.start();
t2.start();
t3.start();
t4.start();
}
0 0
- 多线程的学习笔记
- 多线程的学习笔记
- 多线程的学习笔记
- 多线程的学习笔记
- 多线程的学习笔记01
- 学习java多线程时的一些笔记
- [学习笔记]UE4--多线程的实现方式
- Java 多线程 学习笔记 线程的停止
- java多线程学习笔记(一)!更好的理解多线程
- Java多线程学习笔记
- 多线程学习笔记
- 多线程学习笔记(一)
- 多线程学习笔记(二)
- 多线程学习笔记(一)
- 多线程学习笔记 一
- 多线程学习笔记 二
- 多线程学习笔记 三
- 多线程学习笔记 四
- android中tesseract-ocr自定义字库的介绍
- Linux: 常用命令
- 流水软件
- extern "C"作用详解
- 【leetcode】Reverse Bits
- 多线程的学习笔记
- SQL统计构成组合数、未构成组合数
- Python 一步一步学网络编程
- 查询表空间使用率
- window.location方法
- 转 Android QQ登录验证的小例子
- PHPExcel下载(从数据库获取数据)示例代码
- cocos2d-x_3.5环境搭建
- automake和autoconf 生成大型项目的makefile编写