关于多线程中同步函数+主队列的问题

原创 2015年07月06日 23:35:26

在主线程中调用函数,同时同步函数的队列为主队列中是就会出现线程卡死显现,很多解释都是主线程等待主队列,主队列等待主线程,出现相互等待的现象才会导致线程卡死


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

  dispatch_sync(dispatch_get_main_queue(), ^{

       //

        NSLog(@"下载图片1 %@",[NSThreadcurrentThread]);


    });

}



那么同样的代码发生在异步函数就不会出现这样的情况


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

  dispatch_async(dispatch_get_main_queue(), ^{

        //

        NSLog(@"下载图片1 %@",[NSThread currentThread]);


    });

}


多线程——静态同步函数的锁的相关问题

package com.qianfeng.demo01; /** * 关于静态同步函数使用的锁 * * 静态同步函数的锁是什么呢? * 静态随着类的加载而加载,而这时内存中存储的对象至少有一...

黑马程序员----多线程2(安全问题、同步代码块、同步函数、死锁)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-线程安全问题线程安全问题产生的原因需求:模拟4个线程同时卖100张票。 代码 class Ticket impl...

黑马程序员------多线程(No.1)(概述、线程的创建、安全问题、同步锁、同步函数)

概述   进程:是一个正在执行中的程序。每一个进程都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。 线程:就是进程中的一个独立的控制单元。线程在控制着进程的执行。 一个进程中至少有一个线程...

(49)静态同步函数的锁是Class对象,例子:懒汉式--在多线程中存在问题--同步解决

如果同步函数被静态修饰后,使用的锁是什么呢?

验证多线程中同步函数锁是this对象

/** * 验证同步函数的锁是this对象 */ class TestThreadLock { public static void main(String[] args) throws Int...

3-3-Java多线程-案例-银行存钱&同步函数

银行存钱案例 两个客户到一个银行去存钱,每个客户一次存100,存三次。 问题:改程序是否有安全问题,如果有写出分析过程并定义解决方案 代码示例-未修改前代码class Bank{ privat...

多线程--同步函数使用的锁是this

同步函数用的是哪一个锁呢? 函数需要被对象调用。那么函数都有一个所属对象引用。就是this。 所以同步函数使用的锁是this。 通过该程序进行验证。 使用两个线程来买票。 一...

Java笔记3 多线程<1>线程概述、多线程的创建、多线程的安全问题、静态同步函数的锁、死锁

11-01-多线程概述 l  进程定义:进程是一个正在执行中的程序。每个进程都有一个执行顺序,该执行顺序做 控制单元。 l  线程定义:线程是进程中独立的一个控制单元。线程在控制着进程的执行。 ...

JAVA 多线程静态同步函数的锁是class 对象

//仅作为学习笔记 /* 通过验证发现 同步函数如果被静态修饰后,不再以this 为锁 静态进内存时,内存中没有本类对象,但是一定有该类的字节码文件对象 类名.class 该对象的...

黑马程序员——11,多线程,同步函数,死锁,一些零散的小知识点

黑马程序员——11,多线程,同步函数,死锁,一些零散的小知识点 //同步函数   class  A                      {          intsum;          ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于多线程中同步函数+主队列的问题
举报原因:
原因补充:

(最多只允许输入30个字)