self dev multi threads lib