A market economy can work pretty well to determine what needs to be produced, provided there's one condition: that everyone has relatively equal amounts of spending power. Consider the concept of supply and demand: in theory, the more demand there is for some product or service, a market economy will be encouraged to increase the supply for that product or service.
However, there is a flaw in the theory above that many pro-capitalists overlook: demand (in a capitalist economy) is not measured in units of people, it is measured in units of money. Thus you can have 99% of the people "demanding" basic necessities of life, but it won't matter a bucket of spit compared to a rich man with millions of times more money, who is demanding luxury goods. As the gap between rich and poor increases, the market economy will be focused more and more on producing luxury goods for the oppressive minority.
In order to have a market economy that serves everyone, rather than the wealthy few, spending power must be relatively equal. But can that be achieved through non-violence?
If wealth is concentrated in stocks, then employees should assume democratic control over their companies, thus rendering stocks worthless.
If wealth is concentrated in the hoarding of commodities, then people who will actually use those commodities should just take them from the storage areas where they are just being held for speculation.
If wealth is concentrated in paper money or gold, then people should just stop accepting that paper money or gold as legal tender, and start using something else as legal tender.
All these acts are non-violent. However, you may be attacked while carrying out these activities, in which case fighting back would only be self-defense.