文档章节

[android]无聊写个android的GCDのdispatch_async

FRED丶DON
 FRED丶DON
发布于 2015/08/21 11:56
字数 177
阅读 216
收藏 2

    Block

public interface Block
{

	/**
	 * 
	 * 需要执行的任务
	 * 
	 * @return Object 执行的结果
	 */
	void IBuild();


	
}


    GCD

/**
 * GCD of Android
 * 
 * @author fred don
 *
 */
public class GCD
{

	public static String dispatch_get_main_queue()
	{
		return "main";
	}
	/**
	 * 1 x后台 运行
	 * 
	 * @author fred don
	 * @param threadName
	 *            [main UI线程运行 ,others /后台 运行]
	 * @param block
	 */
	public static void dispatch_async(String threadName, final Block block)
	{
		if ("main".equals(threadName))
		{
			handler.post(new Runnable()
			{
				@Override
				public void run()
				{
					if (block != null)
					{
						block.IBuild();
					}
				}
			});
		}
		else
		{
			Thread t = new Thread(new Runnable()
			{
				@Override
				public void run()
				{
					if (block != null)
					{
						block.IBuild();
					}
				}
			});
			t.setName(threadName);
			t.start();
		}
	}
	
 
	
	
	static Handler handler=new Handler();
}


用法

//后台线程
GCD.dispatch_async("back", new Block()
{
	
	@Override
	public void IBuild()
	{
		println(Thread.currentThread().getName());
		GCD.dispatch_async("main", new Block()
		{
			
			@Override
			public void IBuild()
			{
				println(Thread.currentThread().getName());
				
			}

		});
	}

});
//UI线程
GCD.dispatch_async("main", new Block()
{
	

	@Override
	public void IBuild()
	{
		println(Thread.currentThread().getName());
		
	}

});
		
public static void println(String s){
		Log.i("GCDTester", s);
	}


© 著作权归作者所有

FRED丶DON
粉丝 9
博文 17
码字总数 10487
作品 0
徐汇
程序员
私信 提问
android-async-http源码剖析

本文主要内容 android-async-http用法 android-async-http主要流程 总结 1、android-async-http用法 android-async-http框架用于网络请求等,据说它已经不再维护,但个人感觉它还是很好用的,...

某昆
2018/08/25
0
0
Coroutine on Android学习笔记

Coroutines build upon regular functions by adding two new operations.In addition to invoke (or call) and return, coroutines add suspend and resume. suspend — pause the execu......

-___-
05/14
13
0
火车查询

年底了,没有事情做,坐等放假,无聊写了一个android火车查询的程序如图: 一直在做java ee好久没有写android 程序了

陆朋
2014/01/24
128
0
Android SDK 安装问题 - 模拟器不能启动

闲着无聊就安装android SDK玩玩,但是在安装后总是没办法启动模拟器,所以在此请教各位,有知道的请回复,谢谢。 启动日志如下: [2011-11-16 16:29:29 - android_demo] -------------------...

kindcao
2011/11/16
8.7K
6
github上的NB Android项目

最近想捣鼓捣鼓Android,下了Oschina的android client source,看得挺舒服的,写得很清晰,受益匪浅,想再深入了解下,当然是接着看优秀开源项目咯。google到CSDN上的“直接拿来用,最火的A...

pengzai
2013/05/13
673
0

没有更多内容

加载失败,请刷新页面

加载更多

kibana汉化

kibana5 / 6 需要下载补丁包,https://github.com/anbai-inc/Kibana_Hanization 其中 v6 版本原生支持国际化,只需要添加资源文件并且配置即可 kibana7 v7版本官方内置汉化资源,在配置文件 ...

细肉云吞
15分钟前
4
0
spring boot 自定义日志 log4j2

使用默认的日志在实际开发中会存在很多问题,比如备份文件名称无法自动重命名、各个等级的日志被放在一个文件中等,所以实际开发中为了更好满足我们的需求,我们一般都会自定义采用配置的方式...

雷开你的门
19分钟前
5
0
PCB设计-Allegro软件入门系列-设计参数配置(上)

前言 经历了导入网表,和放置器件后,我们就要画板子了,但是必要的设计参数也要先准备好,磨刀不误砍柴工。 《一》显示参数 这里主要设置DRC报错标志大小和飞线显示类型 (1)DRC标志可以适当...

demyar
20分钟前
5
0
js实现微博、微信分享

html <!-- 分享 --><div class="share-box"> <b style="vertical-align: middle;">分享到:</b> <a title="分享到新浪微博" class="shareSina"><span class="share-icon"></span><......

张兴华ZHero
36分钟前
5
0
创龙TMS320DM8168浮点DSP C674x + ARM Cortex-A8的CPU、NAND FLASH、NOR FLASH

TL6678-EasyEVM是广州创龙基于SOM-TL6678核心板而研发的一款多核高性能DSP开发板。开发板采用核心板+底板方式,底板采用沉金无铅工艺的四层板设计,尺寸为200mm*106.65mm,它为用户提供了SOM...

Tronlong创龙
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部