java多线程tasks.add_Java多线程顺序执行
tasks = new LinkedList();
public static void main(String[] args){
//开始执行,输出,现在链表里插入10个 runnable 执行
System.out.println("start");
for (int i = 0; i < 10; i++) {
excuteTime();
}
System.out.println("end");
//消费者 执行链表里的任务,消耗链表里的任务
Thread consumptionThread = new Thread(){
@Override
public void run(){
while(true){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
}
if (!tasks.isEmpty()) {
final Runnable task;
synchronized (tasks) {
task = tasks.getFirst();
}
try {
System.out.println("LinkedList-tasks size:"+tasks.size());
task.run();
} catch (Exception ex) {
//throw ex;
System.out.println(ex);
} finally {
synchronized (tasks) {
tasks.removeFirst();
}
}
}
}
}
};
consumptionThread.start();
//生产者 负责向链表里面添加 runnable
Thread productionThread = new Thread() {
@Override
public void run() {
while(true) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
CreateTaskByThread createTaskByThread = new CreateTaskByThread();
tasks.add(createTaskByThread);
}
}
};
productionThread.start();
}
public static void excuteTime(){
CreateTaskByThread createTaskByThread = new CreateTaskByThread();
tasks.add(createTaskByThread);
}
}
class CreateTaskByThread implements Runnable{
private static int i = 0;
@Override
public void run() {
System.out.println("best_"+ i++);
}
}
java多线程tasks.add_Java多线程顺序执行相关推荐
- python 多线程并发怎么还是顺序执行_python thread 并发且顺序运行示例
python怎么实现用多线程顺序执行 python 的GIL规定每个时刻只能有一个线程访问python虚拟机,所以你要用python的多线程来做计算是很不合算的,但是对于IO密集型的应用,例如网络交互 ...
- java 并行 执行进度_关于java:Java8流的顺序执行和并行执行产生不同的结果?
在Java8中运行以下流示例: System.out.println(Stream .of("a","b","c","d" ...
- c++11 多线程 顺序执行_前阿里P8架构师总结的一些关于Java多线程的编程经验丨干货...
推荐阅读 Java程序员备战"金九银十"必备的面试技巧(附阿里Java岗面试题) 一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS操 ...
- Java中控制多线程顺序执行
Java中控制多线程顺序执行 一.概述 二.普通示例 三.控制示例 3.1.设置线程优先级 3.2.使用线程类的join() 3.2.1.在主线程join() 3.2.2.在子线程join() 3.3 ...
- c语言中多线程的执行顺序,ReentrantLock实现 多线程顺序执行任务
题目摘自:偏头痛杨 最近看了这位博主的文章 写的挺好的 跟着里面的线程 温习了一遍 结尾处有道题算是复习巩固吧 我是用ReentrantLock实现的 而不是synchronized 题目:使用3个线 ...
- 多线程顺序消费MySQL数据_关于MQ的几件小事(五)如何保证消息按顺序执行
1.为什么要保证顺序 消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常.举例: 比如通过mysql binlog进行两个数据库的数据 ...
- 按照顺序执行_问一个多线程的问题:如何才能保证线程有序执行?
面试的时候你是否经常被问到这样的问题: 你一般通过什么方式去控制线程的执行顺序? 碰到这样的问题,我的内心其实是很抵触的! 开什么玩笑?我怎么会控制它呢?我为什么要控制它? 其实不用慌,这个问题并不难 ...
- python多线程 _thread没有上lock时程序提前给你把可执行的都执行,不按代码编写顺序执行
下面面这个代码中使用多线程运行线程函数. 使用input函数从终端采集一个字符串,采集字符串的目的是让程序暂停. 目的是在所有的线程执行完之前阻止程序退出. 因为程序无法感知是否有线程正在执行, 是否 ...
- Python 多线程如何按照任务优先级顺序执行,并根据任务分配来申请线程锁
文章目录 项目介绍 总结 项目介绍 模拟一个场景,有一个工作站,工作站内有一台机器人负责抓取站内四个瓶子进行一系列工作流程,如扫描.称重.加热等动作,但瓶子加热需要较长的时间,机器人在将瓶子放到加热台 ...
- 多线程顺序执行四种方案
一.方案一(join) public static void main(String[] args) {final Thread t1 = new Thread(() -> System.out ...
最新文章
- 冒泡排序汇总(整数,实数,字符,字符串)
- python爬虫用urllib还是reques,python爬虫中urllib.request和requests有什么区别?
- vuex - 基础篇
- BZOJ3626 LNOI2014 LCA 树链剖分
- Random类实例--猜数字游戏
- Android 编程下帧动画在 Activity 启动时自动运行的几种方式
- 使用literal或者绑定变量执行SAP HANA SQL语句
- (三)Maven仓库介绍与本地仓库配置
- 聊一聊promise的前世今生
- Linux学习第五篇之文件处理命令touch、cat、tac、more、less、head、tail
- HTTP协议原理+实践 Web开发工程师必学(笔记)
- 瑞驰vCloud超融合让数据中心业务更稳定
- python学习笔记(九)之语句1
- 【论文写作】招聘系统总体流程图如何画
- linux 启动 pycharm程序的命令(pycharm已安装好)
- 项目管理软件 OpenProj
- 一个简单的PHP留言板
- Pubwin服务端重装(安装)教程
- 中国古代兵器与兵书·铁马驰骋
- python变量说法_Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义...
热门文章
- 【图像去雾】基于matlab偏振水下模糊图像去雾【含Matlab源码 396期】
- 【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】
- autocoder自动代码生成器_Spring Boot 集成MyBatis Plus代码生成器
- 根据吴安德(斯坦福大学深度学习讲座),您应该如何阅读研究论文
- 香草 jboss 工具_使用Tensorflow创建香草神经网络
- 计算机专业c类大学,【计算机应用技术】专业排名A+、A、B+、B、C类院校分数线...
- linux 历史命令列表,LinuxShell命令history
- 华农c语言期末试卷答案,华南农业大学2013学年第1学期程序设计(C语言)期末考试试卷(A卷)...
- java事件轮询_用scala实现的nio事件轮询
- spring cloud构建互联网分布式微服务云平台-服务提供与调用