一个线程执行多个任务,按照顺序执行

2021-04-14 00:26

阅读:410

标签:消费   lock   main   创建对象   class   --   ring   个人   thread   

一个线程执行多个任务,要按照顺序执行,怎么去实现?

分析:

多个人任务-->线程
要按照顺序执行--》就需要排队,那就是队列
一个给任务,一个执行任务--》涉及一个生产一个消费
过渡:需要容器装任务来存储任务
有两个线程,一放一取不是原子操作,所以涉及线程安全问题

代码实现:

import java.util.concurrent.ArrayBlockingQueue;
public class TestIOBlocking {
	static int m=0;
	//主线程
	public static void main(String[] args) {
		System.out.println("开始!");
		//生产任务的
		TestExecutor t=new TestExecutor();
		for(int i=0;i queue=new ArrayBlockingQueue(3);
	
	//工作线程
	static class workThread extends Thread{
		@Override
		public void run() {
				//执行的任务,反复的取
			while(TestIOBlocking.m

扩展:

  1. 怎么实现一个阻塞式对列结构?
  2. 怎么实现一个LruCache缓存结构(不依托于LikedList,HashMap来实现)?
    (lru:最近最少算法)

一个线程执行多个任务,按照顺序执行

标签:消费   lock   main   创建对象   class   --   ring   个人   thread   

原文地址:https://www.cnblogs.com/perryQiu/p/13339249.html


评论


亲,登录后才可以留言!