谁能在各大网站帮忙发帖的 引起关注 英文的请联系我 有报…

每年的五月一日是五一国际劳动节
止汗剂在欧美已经有超过100年的历史,爱美人士已经习惯每天使用止汗剂来保持自身清新干爽和清爽体味。但在中国目前还未普及,跟着爽身香体专家——舒耐,一起探究夏日全天清新干爽的秘密吧!
你所不知道的止汗剂
夏季天气闷热,心情也容易烦躁,不少人都有腋下汗湿黏腻的困扰,止汗剂应运而生,让你保持时刻清爽,远离黏腻烦恼。
止汗剂香味更加私密,清淡,不同于香水的浓烈外放。更重要的是,止汗剂带来的干爽感觉,是香水不能比拟的。
如今,使用止汗剂已经成为一种潮流,很多达人们每天都会使用止汗剂。那么,你适合使用止汗剂吗?
我们无法预测重要时刻会什么时候发生,建议每天使用止汗剂,保持全天清新干爽,一旦重要时刻到来,清爽为你加分!
小小止汗剂,挑选大学问
打造专属夏日清爽
止汗剂谣言粉碎机
因为其字面意思,被许多人误解为会堵塞毛孔,停止汗腺工作的奇葩产品,那么到底止汗剂是如何保持肌肤干爽的呢?
对于止汗剂,很多人都有一些想当然的误解,甚至被传成了一些世纪谣言。现在让我们一起来揭开这个误区吧!
很多人对止汗剂的工作原理并不了解,认为是因为堵住了毛孔,导致汗液不能顺畅排泄,其实这也是一种误区哦。
真相只有一个:止汗剂吸汗的物理作用仅存在于皮肤表面,而且面积十分小,正常的生理机能是不会受到影响的!&时间: 10:37:03  
账号&& 密码abc123123
给个勉强及格! 加油!
找高点人气的  (雇主<font color="ff97点评于 10:40:16)
稿件编号:186701号
&时间: 10:40:56  
稿件编号:186702号
&时间: 10:41:12  
人气差了点 (雇主<font color="ff97点评于 16:24:15)
稿件编号:186709号
&时间: 10:49:28  
账号:& 密码:abc123123
人气不行 不过地方论坛还可以 (雇主<font color="ff97点评于 16:22:59)
稿件编号:186710号
&时间: 10:53:25  
还可以 (雇主<font color="ff97点评于 16:20:48)
稿件编号:186717号
&时间: 11:01:55  
账号&& 密码abc123123
不错 很好 (雇主<font color="ff97点评于 16:19:32)
稿件编号:186720号
&时间: 11:06:44  
账号 密码abc123123
人气差了点 不过勉强及格吧 加油吧 (雇主<font color="ff97点评于 16:17:29)
稿件编号:186721号
&时间: 11:07:17  
账号&& 密码123456
不错 人气还可以! 继续努力 (雇主<font color="ff97点评于 16:14:19)
稿件编号:186724号
&时间: 11:13:19  
账号 密码abc123123
版面没人气...网站有人气
算了 给及格
 (雇主<font color="ff97点评于 16:27:18)
稿件编号:186726号
&时间: 11:14:38  
账号&& 密码abc123123
还可以吧  (雇主<font color="ff97点评于 16:28:34)
稿件编号:186730号
&时间: 11:25:56  
账号 密码abc123123
还可以 (雇主<font color="ff97点评于 16:32:00)
稿件编号:186734号
&时间: 11:38:26  
账号 密码abc123123
不错 (雇主<font color="ff97点评于 16:33:07)
稿件编号:186736号
&时间: 11:45:04  
/viewthread.php?tid=11291&extra=
勉强过关 (雇主<font color="ff97点评于 16:43:11)
稿件编号:186737号
&时间: 11:47:10  
账号 密码abc123123
还可以 (雇主<font color="ff97点评于 16:35:42)
稿件编号:186744号
&时间: 12:06:25  
账号 密码abc123123
很好 不错 (雇主<font color="ff97点评于 17:29:10)
共有记录:<font color='#FF&条&当前:1/10&页&首页&&上一页&&&&&&1/102/103/104/105/106/107/108/109/1010/10
外包即是借助您公司之外的人为您服务,一切推广服务都可通过三打哈网进行外包。三打哈网拥有一个百万级的人才蓄水库,您在这里广借外脑外力,却不必受累于劳动合同,不会支出庞大的社会保障资金,更不会产生劳资纠纷。
三打哈是一家全球性的网络推广服务外包平台,汇聚了百万级的专业网络推手,而且每天还在以数千个的速度在不断递增。来自全球数十个国家地区的企业和个人在这里寻找人才、外包需求,获得满意的解决方案。
三打哈是中国IT外包供应商最多、性价比最高的推广服务外包交易平台。数十个国家的企业或个人在此成功解决外包推广项目,平台曾被中央电视台、新华网、国际电台等大量媒体报道,甚至被美国商务部列入数据考察项目。
立即免费注册开始行动吧!本站提供安全的资金托管服务,您只需将款打入自己的托管账户即可开始推广工作,项目完成后您才需要真正向网络推手支付费用。即使你在外包的过程中出现了纠纷,本站也将提供公正的争议仲裁服务。
第11145号任务报告
任务标题:
复制粘贴任务! 帮忙在各大论坛发帖 各个地方网站发帖 注意要在买卖版发布
任务编号:
悬赏金额:
任务分类:
任务单价:
任务模式:
开始时间:
结束时间:
浏览次数:
需要稿件:
交稿个数:
合格稿件:
不合格稿件:
还需稿件:
超额稿件:只需一步,快速开始
j2se】多线程与并发知识点总结
4个月前| 发布者:
| 查看: 264
摘要: 对于多线程和并发编程这个比较大的技术模块,我们会整理一些帖子方便知识点的梳理,同时会原创视频帮助大家理解线程和并发的各个细节,以及JMM等比较深入的线程内存结构。最终的目的是写好代码。现在以前收藏的帖子整 ...
对于多线程和并发编程这个比较大的技术模块,我们会整理一些帖子方便知识点的梳理,同时会原创视频帮助大家理解线程和并发的各个细节,以及JMM等比较深入的线程内存结构。最终的目的是写好代码。现在以前收藏的帖子整理分享给大家.大体上结构还是很全面,有些具体的细节还不够仔细。在录制视频中注意这些细节的讲解。<font color="#.计算机系统&使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行;当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。缓存一致性:多处理器系统中,因为共享同一主内存,当多个处理器的运算任务都设计到同一块内存区域时,将可能导致各自的缓存数据不一致的情况,则同步回主内存时需要遵循一些协议。乱序执行优化:为了使得处理器内部的运算单位能尽量被充分利用。<font color="#.JAVA内存模型目标是定义程序中各个变量的访问规则。(包括实例字段、静态字段和构成数组的元素,不包括局部变量和方法参数)。所有的变量都存储在主内存中(虚拟机内存的一部分)。每条线程都由自己的工作内存,线程的工作内存中保存了该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。线程之间无法直接访问对方的工作内存中的变量,线程间变量的传递均需要通过主内存来完成。内存间交互操作:Lock(锁定):作用于主内存中的变量,把一个变量标识为一条线程独占的状态。Read(读取):作用于主内存中的变量,把一个变量的值从主内存传输到线程的工作内存中。Load(加载):作用于工作内存中的变量,把read操作从主内存中得到的变量的值放入工作内存的变量副本中。Use(使用):作用于工作内存中的变量,把工作内存中一个变量的值传递给执行引擎。Assign(赋值):作用于工作内存中的变量,把一个从执行引擎接收到的值赋值给工作内存中的变量。Store(存储):作用于工作内存中的变量,把工作内存中的一个变量的值传送到主内存中。Write(写入):作用于主内存中的变量,把store操作从工作内存中得到的变量的值放入主内存的变量中。Unlock(解锁):作用于主内存中的变量,把一个处于锁定状态的变量释放出来,之后可被其它线程锁定。规则:不允许read和load、store和write操作之一单独出现。不允许一个线程丢弃最近的assign操作,变量在工作内存中改变了之后必须把该变化同步回主内存中。不允许一个线程没有发生过任何assign操作把数据从线程的工作内存同步回主内存中。一个新的变量只能在主内存中诞生。一个变量在同一时刻只允许一条线程对其进行lock操作,但可以被同一条线程重复执行多次。如果对一个变量执行lock操作,将会清空工作内存中此变量的值,在执行引擎使用这个变量前,需要重新执行read、load操作。如果一个变量事先没有被lock操作锁定,则不允许对它执行unlock操作。8. &对一个变量执行unlock操作前,必须先把该变量同步回主内存中。<font color="#. volatile型变量保证此变量对所有线程的可见性。每条线程使用此类型变量前都需要先刷新,执行引擎看不到不一致的情况。运算结果并不依赖变量的当前值、或者确保只有单一的线程修改变量的值。变量不需要与其他的状态变量共同参与不变约束。禁止指令重排序优化。普通的变量仅保证在方法执行过程中所有依赖赋值结果的地方都能获取到正确的结果。而不能保证赋值操作的顺序与程序代码中的顺序一致。load必须与use同时出现;assign和store必须同时出现。<font color="#.原子性、可见性与有序性原子性:基本数据类型的访问读写是具备原子性的,synchronized块之间的操作也具备原子性。可见性:指当一个线程修改了共享变量的值,其他线程能够立即得知这个修改。synchronized(规则8)和final可以保证可见性。Final修饰的字段在构造器中一旦被初始化完成,并且构造器没有把this的引用传递出去,那么在其他线程中就能看见final字段的值。有序性:volatile本身包含了禁止指令重排序的语义,而synchronized则是由规则5获得的,这个规则决定了持有同一个所的两个同步块只能串行地进入。<font color="#. 先行发生原则Java内存模型中定义的两项操作之间的偏序关系,如果操作A先行发生于操作B,其实就是说在发生操作B之前,操作A产生的影响能被操作B观察到。程序次序规则:在一个线程内,按照代码控制流顺序,在前面的操作先行发生于后面的操作。管程锁定规则:一个unlock操作先行发生于后面对同一个锁的lock操作。Volatile变量规则:对一个volatile变量的写操作先行发生于后面对这个变量的读操作。线程启动规则:Thread对象的start()方法先行发生于此线程的每个操作。线程终止规则:线程中的所有操作都先行发生于对此线程的终止检测。线程中断规则:对线程的interrupt()方法的调用先行发生于被中断线程的代码检测中断事件的发生。对象终结过则:一个对象的初始化完成先行发生于它的finalize()方法的开始。传递性:如果操作A先行发生于操作B,操作B现象发生于操作C,那么就可以得出操作A先行发生于操作C的结论。时间上的先后顺序与先行发生原则之间基本上没有太大的关系。<font color="#.线程实现使用内核线程实现:&内核线程Kernel Thread:直接由操作系统内核支持的线程,这种线程由内核类完成线程切换,内核通过操纵调度器对线程进行调度,并负责将线程的任务映射到各个处理器上。轻量级进程Light Weight Process:每个轻量级进程都由一个内核线程支持。局限性:各种进程操作都需要进行系统调用(系统调用代价相对较高,需要在用户态和内核态中来回切换);轻量级进程要消耗一定的内核资源,一次一个系统支持轻量级进程的数量是有限的。使用用户线程实现:用户线程:完全建立在用户空间的线程库上,系统内核不能直接感知到线程存在的实现。用户线程的建立、同步、销毁和调度完全在用户态中完成,不需要内核的帮助。所有的线程操作都需要用户程序自己处理。混合实现:&将内核线程和用户线程一起使用的方式。操作系统提供支持的轻量级进程则作为用户线程和内核线程之间的桥梁。Sun JDK,它的Windows版和Linux版都是使用一对一的线程模型来实现的,一条Java线程映射到一条轻量级进程之中。<font color="#.线程调度线程调度是指系统为线程分配处理器使用权的过程:协同式、抢占式。协同式:线程的执行时间由线程本身控制,线程把自己的工作执行完了之后,要主动通知系统切换到另一个线程上。坏处:线程执行时间不可控制。抢占式:每个线程将由系统来分配执行时间,线程的切换不由线程本身来决定。Java使用该种调用方式。线程优先级:在一些平台上(操作系统线程优先级比Java线程优先级少)不同的优先级实际会变得相同;优先级可能会被系统自行改变。<font color="#.线程安全线程安全:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交换执行,也不需要进行额外的同步,或者调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。不可变:只要一个不可变的对象被正确地构建出来。使用final关键字修饰的基本数据类型;如果共享数据是一个对象,那就需要保证对象的行为不会对其状态产生任何影响(String类的对象)。方法:把对象中带有状态的变量都申明为final,如Integer类。有:枚举类型、Number的部分子类(AtomicInteger和AtomicLong除外)。<font color="#.线程安全的实现方法1.互斥同步:同步是指在多个线程并发访问共享数据时,保证共享数据在同一个时刻只被一条线程使用。互斥方式:临界区、互斥量和信号量。Synchronized关键字:编译后会在同步块前后分别形成monitorenter和monitorexit这两个字节码指令。这两个指令都需要一个引用类型的参数来指明要锁定和解锁的对象。如果没有明确指定对象参数,那就根据synchronized修饰的是实例方法还是类方法,去取对应的对象实例或Class对象来作为锁对象。在执行monitorenter指令时,首先尝试获取对象的锁,如果没有被锁定或者当前线程已经拥有了该对象的锁,则将锁计数器加1,相应的执行moniterexit时,将锁计数器减1,当计数器为0时,锁就被释放了。如果获取对象锁失败,则当前线程就要阻塞等待。ReentrantLock相对synchronized的高级功能:等待可中断:当持有锁的线程长期不释放锁时,正在等待的线程可以选择放弃等待,改为处理其他事情。公平锁:多个线程在等待同一个锁时,必须按照申请锁的事件顺序来一次获取锁;而非公平锁在被释放时,任何一个等待锁的线程都有机会获得锁。Synchronized中的锁是非公平锁,ReentrantLock默认也是非公平锁。锁绑定多个条件:一个ReentrantLock对象可以同时绑定多个Condition对象。2. 非阻塞同步:基于冲突检测的乐观并发策略:先进行操作,如果没有其他线程争用共享数据,那操作就成功了;如果共享数据有争用,产生了冲突,那就再进行其他的补偿措施(一般是不断的尝试,直到成功为止)。AtomicInteger等原子类中提供了方法实现了CAS指令。3. 无同步方案:可重入代码:可以在代码执行的任何时刻中断它,转而去执行另一段代码,而在控制权返回后,原来的程序不会出现任何错误。特征:不依赖存储在堆上的数据和公用的系统资源、用到的状态量都由参数传入,不调用非可重入的方法等。如果一个方法,它的返回结果是可以预测的,只要出入了相同的数据,就能返回相同的结果,那它就满足可重入性的要求。线程本地存储:如果一段代码中所需要的数据必须与其它代码共享,那就看看这些共享数据的代码是否能保证在同一个线程中执行<font color="#.锁优化1.自旋锁为了让线程等待,让线程执行一个忙循环(自旋)。需要物理机器有一个以上的处理器。自旋等待虽然避免了线程切换的开销,带它是要占用处理器时间的,所以如果锁被占用的时间很短,自旋等待的效果就会非常好,反之自旋的线程只会白白消耗处理器资源。自旋次数的默认值是10次,可以使用参数-XXpreBlockSpin来更改。自适应自旋锁:自旋的时间不再固定,而是由前一次在同一个锁上的自旋时间及锁的拥有者的状态来决定。2. 锁清除指虚拟机即时编译器在运行时,对一些代码上要求同步,但是被检测到不可能存在共享数据竞争的锁进行清除(逃逸分析技术:在堆上的所有数据都不会逃逸出去被其它线程访问到,可以把它们当成栈上数据对待)。3.锁粗化如果虚拟机探测到有一串零碎的操作都对同一个对象加锁,将会把加锁同步的范围扩展到整个操作序列的外部。HotSpot虚拟机的对象的内存布局:对象头(Object Header)分为两部分信息吗,第一部分(Mark Word)用于存储对象自身的运行时数据,另一个部分用于存储指向方法区对象数据类型的指针,如果是数组的话,还会由一个额外的部分用于存储数组的长度。32位HotSpot虚拟机中对象未被锁定的状态下,Mark Word的32个Bits空间中25位用于存储对象哈希码,4位存储对象分代年龄,2位存储锁标志位,1位固定为0。HotSpot虚拟机对象头Mark Word4.轻量级锁在代码进入同步块时,如果此同步对象没有被锁定,虚拟机首先将在当前线程的栈帧中建立一个名为锁记录(Lock Record)的空间,用于存储所对象目前的Mark Word的拷贝。然后虚拟机将使用CAS操作尝试将对象的Mark Word更新为执行Lock Record的指针。如果成功,那么这个线程就拥有了该对象的锁。如果更新操作失败,虚拟机首先会检查对象的Mark Word是否指向当前线程的栈帧,如果是就说明当前线程已经拥有了这个对象的锁,否则说明这个对象已经被其它线程抢占。如果有两条以上的线程争用同一个锁,那轻量级锁就不再有效,要膨胀为重量级锁。解锁过程:如果对象的Mark Word仍然指向着线程的锁记录,那就用CAS操作把对象当前的Mark Word和和线程中复制的Displaced Mark Word替换回来,如果替换成功,整个过程就完成。如果失败,说明有其他线程尝试过获取该锁,那就要在释放锁的同时,唤醒被挂起的线程。轻量级锁的依据:对于绝大部分的锁,在整个同步周期内都是不存在竞争的。传统锁(重量级锁)使用操作系统互斥量来实现的。5.偏向锁目的是消除在无竞争情况下的同步原语,进一步提高程序的运行性能。锁会偏向第一个获得它的线程,如果在接下来的执行过程中,该锁没有被其它线程获取,则持有锁的线程将永远不需要再进行同步。当锁第一次被线程获取的时候,虚拟机将会把对象头中的标志位设为01,同时使用CAS操作把获取到这个锁的线程的ID记录在对象的Mark Word之中,如果成功,持有偏向锁的线程以后每次进入这个锁相关的同步块时,都可以不进行任何同步操作。当有另一个线程去尝试获取这个锁时,偏向模式就宣告结束。根据所对象目前是否处于被锁定的状态,撤销偏向后恢复到未锁定或轻量级锁定状态。<font color="#.内核态和用户态操作系统的两种运行级别,intel cpu提供-Ring3三种运行模式。Ring0是留给操作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而Ring3则给普通的用户程序使用,它们工作在用户态。运行于处理器核心态的代码不受任何的限制,可以自由地访问任何有效地址,进行直接端口访问。而运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问。<font color="#.常用方法1.object.wait():在其他线程调用此对象的notify()或者notifyAll()方法,或超过指定时间量前,当前线程T等待(线程T必须拥有该对象的锁)。线程T被放置在该对象的休息区中,并释放锁。在被唤醒、中断、超时的情况下,从对象的休息区中删除线程T,并重新进行线程调度。一旦线程T获得该对象的锁,该对象上的所有同步申明都被恢复到调用wait()方法时的状态,然后线程T从wait()方法返回。如果当前线程在等待之前或在等待时被任何线程中断,则会抛出 InterruptedException。在按上述形式恢复此对象的锁定状态时才会抛出此异常。在抛出此异常时,当前线程的中断状态被清除。只有该对象的锁被释放,并不会释放当前线程持有的其他同步资源。2.object.notify()唤醒在此对象锁上等待的单个线程。此方法只能由拥有该对象锁的线程来调用。3.Thread.sleep()在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。监控状态依然保持、会自动恢复到可运行状态,不会释放对象锁。如果任何线程中断了当前线程。当抛出InterruptedException异常时,当前线程的中断状态被清除。让出CPU分配的执行时间。4.thread.join():在一个线程对象上调用,使当前线程等待这个线程对象对应的线程结束。5.Thread.yield():暂停当前正在执行的线程对象,并执行其他线程。6.thread.interrupt():中断线程,停止其正在进行的一切。中断一个不处于活动状态的线程不会有任何作用,如果线程在调用Object类的wait()方法、或者join()、sleep()方法过程中受阻,则其中断状态将被清除,并收到一个InterruptedException。7.Thread.interrupted():检测当前线程是否已经中断,并且清除线程的中断状态(回到非中断状态)。8.thread.isAlive():如果线程已经启动且尚未终止,则为活动状态。9.thread.setDaemon():需要在start()方法调用之前调用。当正在运行的线程都是后台线程时,Java虚拟机将退出。否则当主线程退出时,其他线程仍然会继续执行。<font color="#.其他1.当调用Object的wait()、notify()、notifyAll()时,如果当前线程没有获得该对象锁,则会抛出IllegalMonitorStateException异常。2.如果一个方法申明为synchronized,则等同于在这个方法上调用synchronized(this)。3.如果一个静态方法被申明为synchronized,则等同于在这个方法上调用synchronized(类.class)。当一个线程进入同步静态方法中时,其他线程不能进入这个类的任何静态同步方法。1.线程成为对象锁的拥有者:通过执行此对象的同步实例方法通过执行在此对象上进行同步的synchronized语句的正文对于Class类型的对象,可以通过执行该类的同步静态方法。<font color="#.死锁:死锁就是两个或两个以上的线程被无限的阻塞,线程之间相互等待所需资源。可能发生在以下情况:当两个线程相互调用Thread.join();&当两个线程使用嵌套的同步块,一个线程占用了另外一个线程必须的锁,互相等待时被阻塞就有可能出现死锁。1.调用了Thread类的start()方法(向CPU申请另一个线程空间来执行run()方法里的代码),线程的run()方法不一定立即执行,而是要等待JVM进行调度。run()方法中包含的是线程的主体,也就是这个线程被启动后将要运行的代码。
我们熟悉了java单向链表的模拟,现在我就必须开始双向链表的模拟的.1.基础结构
lighttpd网络服务器基于的Lighttpd的网络服务器具有这样的特点:占用内存资源
Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Z
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据
理解volatile变量对写多线程程序还是很有帮助的,这样就会避免一上来就是syn这
I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,因为当前在这
C10K、C/500K问题C10K 的意思是10000并发请求,C500K意思是500 000并发请求,
对于不同职业经历和专业背景的IT人士来说,如何才能尽快转型,加入数据科学家
什么是数据挖掘  数据挖掘(Data Mining),又称为数据库中的知识发现(Knowle
通过简单的小例子程序,演示java虚拟机各部分内存溢出情况:(1).java堆溢出:
入门读物:深入浅出数据分析 (豆瓣)这书挺简单的,基本的内容都涉及了,说得
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、
专家·VoltDB公司首席技术官Ryan Betts表示,SQL已经赢得了大型企业的广泛部
最后我们来模拟一个分布式中很常用的一个算法:hash一致性算法 简单的模拟 也
守望者:在并发处理应用中,一般使用锁的方式来解决竞争问题,但锁的效率比较
友情链接:
成都守望者科技有限公司 &
All Rights Reserved关注四娘了解本地新鲜事儿
回复【16】浏览【1373】
TA的其他好贴
宠福来医院的供血犬灰灰,求救助!!
不管大家有啥子意见,只希望能帮助这个可怜的阿拉斯加-灰灰
我也是帮忙转载的,情况如下:
登录/注册查看大图登录/注册查看大图
此帖系强大的第四城楼主原创,转载请务必捎上楼主,否则将启动咬人程序!
本帖最后由 薇醉 于 12-8-29 13:49 编辑
宠福来,在成都可是真心有名啊。
宠福来,在成都可是真心有名啊。
愤怒的文子 发表于 12-8-29 14:00  宠福来就别提了!要不是看到狗狗造孽,我鸟都不想鸟那个医院。主要是狗狗太可怜了~
希望有好心狗狗去救救··不过···强烈要求灰灰脱离宠物医院有人领养,万一病好了又拿来供血
今天我看报纸也登咯,小型犬的家长表示一直关注,希望这个娃儿好起来
如果我们之间有1000步的距离,你只要跨出第999步,我就会朝你的方向走剩下的1步
灰灰太可怜了!希望有它早日康复,有爱心人士能给它一个家就好了,不让它再成为赚钱的工具!
又是这个名气黑大的不得了的宠福来
懒人就是我
帮顶,这狗狗真可怜。。。。
[img][/img]
宠福来医院的供血犬灰灰-------------------------这几个字的背后有啥子故事吗。。
有牙的时候没有花生米
这个医院真心太有名了
今日鲜花榜
今日鲜花帖}

我要回帖

更多关于 引起关注 英文 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信