SolarisでpthreadでC++です。

C* c;
int main() {
  c = new C;

と、mainの先頭で生成したオブジェクトを、N個のスレッド(実際は8個固定)から使っています。

スレッドが順次終了してゆき、最後のN個目が終了した直後、あるいはN-1個目が終了した
後かつN個目が終了する直前にdelete c;をしたいのですが、うまい方法はあるでしょうか。
リファレンスカウントでしょうか。

N個のスレッドすべてをpthread_join()するような、親スレッドはいません。
なお、Cのメンバ関数はすべてスレッドセーフに作られています。

よろしくおねがいします。