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多线程顺序执行相关推荐

  1. python 多线程并发怎么还是顺序执行_python thread 并发且顺序运行示例

    python怎么实现用多线程顺序执行 python 的GIL规定每个时刻只能有一个线程访问python虚拟机,所以你要用python的多线程来做计算是很不合算的,但是对于IO密集型的应用,例如网络交互 ...

  2. java 并行 执行进度_关于java:Java8流的顺序执行和并行执行产生不同的结果?

    在Java8中运行以下流示例: System.out.println(Stream .of("a","b","c","d" ...

  3. c++11 多线程 顺序执行_前阿里P8架构师总结的一些关于Java多线程的编程经验丨干货...

    推荐阅读 Java程序员备战"金九银十"必备的面试技巧(附阿里Java岗面试题) 一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS操 ...

  4. Java中控制多线程顺序执行

    Java中控制多线程顺序执行 一.概述 二.普通示例 三.控制示例 3.1.设置线程优先级 3.2.使用线程类的join() 3.2.1.在主线程join() 3.2.2.在子线程join() 3.3 ...

  5. c语言中多线程的执行顺序,ReentrantLock实现 多线程顺序执行任务

    题目摘自:偏头痛杨 最近看了这位博主的文章 写的挺好的 跟着里面的线程 温习了一遍 结尾处有道题算是复习巩固吧 我是用ReentrantLock实现的 而不是synchronized 题目:使用3个线 ...

  6. 多线程顺序消费MySQL数据_关于MQ的几件小事(五)如何保证消息按顺序执行

    1.为什么要保证顺序 消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常.举例: 比如通过mysql binlog进行两个数据库的数据 ...

  7. 按照顺序执行_问一个多线程的问题:如何才能保证线程有序执行?

    面试的时候你是否经常被问到这样的问题: 你一般通过什么方式去控制线程的执行顺序? 碰到这样的问题,我的内心其实是很抵触的! 开什么玩笑?我怎么会控制它呢?我为什么要控制它? 其实不用慌,这个问题并不难 ...

  8. python多线程 _thread没有上lock时程序提前给你把可执行的都执行,不按代码编写顺序执行

    下面面这个代码中使用多线程运行线程函数. 使用input函数从终端采集一个字符串,采集字符串的目的是让程序暂停. 目的是在所有的线程执行完之前阻止程序退出. 因为程序无法感知是否有线程正在执行, 是否 ...

  9. Python 多线程如何按照任务优先级顺序执行,并根据任务分配来申请线程锁

    文章目录 项目介绍 总结 项目介绍 模拟一个场景,有一个工作站,工作站内有一台机器人负责抓取站内四个瓶子进行一系列工作流程,如扫描.称重.加热等动作,但瓶子加热需要较长的时间,机器人在将瓶子放到加热台 ...

  10. 多线程顺序执行四种方案

    一.方案一(join) public static void main(String[] args) {final Thread t1 = new Thread(() -> System.out ...

最新文章

  1. 冒泡排序汇总(整数,实数,字符,字符串)
  2. python爬虫用urllib还是reques,python爬虫中urllib.request和requests有什么区别?
  3. vuex - 基础篇
  4. BZOJ3626 LNOI2014 LCA 树链剖分
  5. Random类实例--猜数字游戏
  6. Android 编程下帧动画在 Activity 启动时自动运行的几种方式
  7. 使用literal或者绑定变量执行SAP HANA SQL语句
  8. (三)Maven仓库介绍与本地仓库配置
  9. 聊一聊promise的前世今生
  10. Linux学习第五篇之文件处理命令touch、cat、tac、more、less、head、tail
  11. HTTP协议原理+实践 Web开发工程师必学(笔记)
  12. 瑞驰vCloud超融合让数据中心业务更稳定
  13. python学习笔记(九)之语句1
  14. 【论文写作】招聘系统总体流程图如何画
  15. linux 启动 pycharm程序的命令(pycharm已安装好)
  16. 项目管理软件 OpenProj
  17. 一个简单的PHP留言板
  18. Pubwin服务端重装(安装)教程
  19. 中国古代兵器与兵书·铁马驰骋
  20. python变量说法_Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义...

热门文章

  1. 【图像去雾】基于matlab偏振水下模糊图像去雾【含Matlab源码 396期】
  2. 【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】
  3. autocoder自动代码生成器_Spring Boot 集成MyBatis Plus代码生成器
  4. 根据吴安德(斯坦福大学深度学习讲座),您应该如何阅读研究论文
  5. 香草 jboss 工具_使用Tensorflow创建香草神经网络
  6. 计算机专业c类大学,【计算机应用技术】专业排名A+、A、B+、B、C类院校分数线...
  7. linux 历史命令列表,LinuxShell命令history
  8. 华农c语言期末试卷答案,华南农业大学2013学年第1学期程序设计(C语言)期末考试试卷(A卷)...
  9. java事件轮询_用scala实现的nio事件轮询
  10. spring cloud构建互联网分布式微服务云平台-服务提供与调用