contentprovider和线程以及阻塞

关于contentprovider一直有几个疑问:
1 contentprovider是运行在哪个进程里面的?
2 别的主线程调用它的时候会被阻塞吗?
3 如果不同的其他应用,同时调用了这个contentprovider的同一个方法,它们会相互阻塞吗?比如有三个应用同时都在调用这个provider的插入方法,它们会相互阻塞还是并发运行?

前几天写了疑问,今天就来将结论写一下,公司电脑不让传代码,就不写过程和日志了。
1 contentprovider的oncreate方法,运行在ui线程。但是其他的方法,运行在非ui线程,例如call、query、delete、insert、upate等方法。
2 别的主线程调contentprovider里面方法的时候,虽然他的call、query、delete、insert、upate等方法运行在非ui线程,但是其他调用方法是会被阻塞的。比如你在activity的oncreate方法中调用contentprovider的query等方法,oncreate方法会被阻塞。
3 他们不会相互阻塞。

参考资料:
https://stackoverflow.com/questions/3491747/which-thread-runs-contentprovider?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值