问题描述: 一个房间内有6位哲学家,他们的生活就是思考和进食。哲学家思考后,过一定的时间就会饥饿,饥饿之后就想吃饭,吃饭后再思考。房间里有一张圆桌,桌子周围放有6把椅子,分别属于6位哲学家,每两位哲学家之间有1支筷子,哲学家进食时必须同时使用左右两支筷子。问题:1、 写出哲学家进餐的算法描述。2、 写出你的算法如何解决死锁问题,即不能6位哲学家各拿到1支筷子,但都吃不上。3、 用C程序实现哲学家进餐。(注:可以使用共享变量的方式,也可以使用信号量的方式来实现)4、 程序的运行结果。