目录
线程与进程
- 线程与进程
- windows下查CPU信息
- Thread类实现多线程
- 错误的代码🤣
- 正确的写法
- Runnable
- Lambda写法
- Runnable与Thread的关系
- 卖票程序演示
- Thread方式实现
- Callable
- 生命周期
- 线程的休眠
- 线程中断
- 线程的强制执行
- 线程同步
- 线程死锁
- 生产者与消费者模型
- 生产者与消费者模型的实现类结构
- 数据同步处理
- 解决线程重复的操作问题
- 优雅的停止线程
- 守护线程
- volatile
- 学习心得
直接调用run()方法是错误的!!!
class MyThread extends Thread { // 定义线程主体类
private String name;
public MyThread(String name) { // 设置一个名称
this.name = name;
}
@Override // 覆写父类中的方法
public void run() { // 线程运行的主方法
for (int x = 0; x 0) { // 编写一个循环
if (this.ticket > 0) { // 判断是否有剩余的票数
System.out.println("【卖票】ticket = " + this.ticket --); // 卖票处理
} else { // 结束循环
break ;
}
}
}
}
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) {
MyThread myThread = new MyThread() ; // 创建Runnable接口对象
// Runnable如果要想进行启动则必须依靠Thread类,而在Thread类里面提供有一个target的属性。
Thread threadA = new Thread(myThread) ; // 创建Thread类的对象实例
Thread threadB = new Thread(myThread) ; // 创建Thread类的对象实例
Thread threadC = new Thread(myThread) ; // 创建Thread类的对象实例
threadA.start(); // 启动多线程,所有的操作都针对于同一个target对象实例完成
threadB.start(); // 启动多线程,所有的操作都针对于同一个target对象实例完成
threadC.start(); // 启动多线程,所有的操作都针对于同一个target对象实例完成
}
}
package com.yootk.demo;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
import java.util.concurrent.RunnableFuture;
class MyThread implements Callable { // 返回值类型为String
@Override // 覆写父类中的方法
public String call() { // 线程运行的主方法
String result = "" ; // 保存返回结果
for (int x = 0 ; x {
for (int x = 0; x = 10) { // 设置一个处理条件
mainThread.join(); // 子线程要交出全部的资源给主线程
}
System.out.println("〖" + Thread.currentThread().getName() + "〗子线程执行,x = " + x);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, "工作线程"); // 创建一个线程类
joinThread.start(); // 启动子线程
for (int x = 0; x
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?