Is it possible to do multiple thread submition with one queue only

I’m trying to make an async loading system for vulkan.
There will be a main thread for render loop, several threads for handle the tex, mesh uploading. When loading finished, they notify the main thread by future that the loading is finished and you are ready to use those resource.
VkQueue is not allowed simultaneously used in two thread, this is for sure. So I’m using two queue from one family now. But the problem is there are some gpu only provide one family and one queueCount only.
How do I use only one queue for async loading operations? Do I have to use external sync?

You know the answer to that because you just said “VkQueue is not allowed simultaneously used in two thread.” So you must use some mechanism to shepherd those CBs to the thread that’s going to submit them. How you do that is entirely up to you; there are plenty of lock-free techniques you can use.