Event processing systems are a promising technology for enterprise-scale applications. However, achieving scalability yet maintaining high performance is a challenging problem. This work introduces a parallel matching engine which leverages current chip multi-processors to increase throughput and to reduce the matching time. We present three parallelization techniques, as well as lock-based and software transactional memory-based implementations of each technique, and discuss their impact. The results show a 74% reduction of the average matching time and an improved throughput of over 1600 events/second when using eight processors.