概述
关于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
最后
以上就是义气砖头为你收集整理的contentprovider和线程以及阻塞的全部内容,希望文章能够帮你解决contentprovider和线程以及阻塞所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复