android-synchronized实现同步下载,是写在方法上还是写在函数内?

问题描述

synchronized实现同步下载,是写在方法上还是写在函数内?
安卓synchronized(this)是什么意思?和synchronized写在方法上的差异是什么?

解决方案

synchronized(this) 锁住当前对象
synchronized修饰方法,这个方法是同步的

解决方案二:
synchronized(obj)同步代码块,任何obj都可充当同步监视器,不限定于this。修饰方法时,其实就等于synchronized(this),调用该方法的对象来充当同步监视器。

解决方案三:
synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的 synchronized方法是不相干扰的。
synchronized关键字可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象

解决方案四:
http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html

时间: 2024-08-03 21:44:01

android-synchronized实现同步下载,是写在方法上还是写在函数内?的相关文章

android中apk的下载与自动安装方法介绍

手机中文件的下载分为后台自动下载和前台下载,我总结了这两种下的实现代码,其中前台下载并实现下载进度条的实现. 第一种:后台下载 /**  * 后台在下面一个Apk 下载完成后返回下载好的文件  *  * @param httpUrl  * @return  */  private File downFile(final String httpUrl) {  new Thread(new Runnable() {  @Override  public void run() {  try {  UR

Android仿360市场下载按钮的实现方法

首先来看看效果图: 无论多复杂的动画我们都是可以分割成小单元的,然后分步来实现.这个动画大概分为收缩,准备,加载,完成几个部分.为此定义一个枚举类来描述view的状态. public enum Status { NORMAL, START, PRE, EXPAND, LOAD, END } 收缩动画 使用动画不断改变圆角矩形的宽度,触发重绘.代码如下: private void initAnim() { Animation animation1 = new Animation() { @Over

Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?

原文:Android菜鸟的成长笔记(5)--Android系统源代码你下载了吗? 在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码呢?下面我们通过Git管理工具来对Android系统源代码进行下载.另外为了方便有的朋友下载,我将下载好的各个版本的源码存放到360云盘,云盘下载链接如下: http://yunpan.cn/QDEkq3uFrbvrI (访问密码:968e) 首先下载Git版本管理工具:下载地址:http://c

listview多任务下载-Android ListView中多任务下载是如何实现的(给点思路)

问题描述 Android ListView中多任务下载是如何实现的(给点思路) 最近在项目中有个多任务下载的功能,我把下载的类和方法全部都写好了,就是不知道多任务是如何实现的,网上有人说是写个下载管理器,还望各位大牛给说一下思路.类似于这个效果的..这个只是一个虚拟的更新进度条,没实现多任务下载 解决方案 直接使用多线程来下载不同任务,定时刷新进度.

想请教一下THINKPHP中的修改密码如何写,修改不会写了也找了很多资料

问题描述 想请教一下THINKPHP中的修改密码如何写,修改不会写了也找了很多资料 想请教一下THINKPHP中的修改密码如何写,我写了登陆了,算是模仿老师的写法,但是修改不会写了,也找了很多资料 还是不太会.下面是我的登陆代码 //作者:文梓行.用户登陆 class LoginAction extends Action { function index() { $this->assign ( 'title', '美食分享网' ); $this->display (); } function

Android实现多线程断点下载的方法

  本文实例讲述了Android实现多线程断点下载的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

android进程不能同步工作

问题描述 android进程不能同步工作 我刚接触android和java.我一直在做这个东西,就是图片下载器.我下载图片,然后用进度条显示下载进度,并用网格显示出来.我已经创建了两个class 1.URLImageAdapter2.CacheActivity.在我点击下载按钮开始下载之前都正常,当我点击下载按钮的时候,进度条出现然后一直到几百消失但是仍然在下载.我想要同步下载图片和进度条. 下边是代码 public class URLImageAdapter extends BaseAdapt

收藏了4年的android app源码下载

Android 超过2个G的源代码集合~~几乎涵盖了所有功能效果的实现,一应俱全~~应有尽有~~ 360云盘地址:Android 各类源码集合汇总 (提取码:f930) 另外,附上Github上及自己整理的一些代码集合~~ Android手势处理集合框架 源码 Android 一个简单的缓存框架 源码 Android 一个流畅的PDF阅读器 源码 Android 利用精简Zxing实现条形码/二维码 扫描Demo Android 水波特效(录音功能) 源码 SlidMenu 侧滑菜单.ViewP

Android编程实现应用自动更新、下载、安装的方法_Android

本文实例讲述了Android编程实现应用自动更新.下载.安装的方法.分享给大家供大家参考,具体如下: 我们看到很多Android应用都具有自动更新功能,用户一键就可以完成软件的升级更新.得益于Android系统的软件包管理和安装机制,这一功能实现起来相当简单,下面我们就来实践一下. 1. 准备知识 在AndroidManifest.xml里定义了每个Android apk的版本标识: <manifest xmlns:android="http://schemas.android.com/a